Какой “хороший” алгоритм блочного шифрования самое короткое произвело?

Сервис: startervice может вызвать побочные эффекты, лучший способ использовать мессенджер и передавать данные.

private CallBackHandler mServiceHandler= new CallBackHandler(this);
private Messenger mServiceMessenger=null;
//flag with which the activity sends the data to service
private static final int DO_SOMETHING=1;

private static class CallBackHandler extends android.os.Handler {

private final WeakReference<Service> mService;

public CallBackHandler(Service service) {
    mService= new WeakReference<Service>(service);
}

public void handleMessage(Message msg) {
    //Log.d("CallBackHandler","Msg::"+msg);
    if(DO_SOMETHING==msg.arg1)
    mSoftKeyService.get().dosomthing()
}
}

Упражнение: Get Messenger from Intent залейте его данными и передайте сообщение обратно в службу

private Messenger mServiceMessenger;
@Override
protected void onCreate(Bundle savedInstanceState) {
mServiceMessenger = (Messenger)extras.getParcelable("myHandler");
}


private void sendDatatoService(String data){
Intent serviceIntent= new 
Intent(BaseActivity.this,Service.class);
Message msg = Message.obtain();
msg.obj =data;
msg.arg1=Service.DO_SOMETHING;
mServiceMessenger.send(msg);
}
16
задан joeforker 4 February 2009 в 21:05
поделиться

6 ответов

Большинство блочных шифров собирается использовать больше, чем 32-разрядные размерные блоки из соображений безопасности.

Однако я нашел тот, который сделан специально для того, что Вы делаете: Skip32

можно рассмотреть использование GUID, но возможно у Вас есть причины, Вы хотите избежать этого. (Скажите, Ваше приложение уже сделано.)

Редактирование: На самом деле, если GUID допустим, то это дает Вам диапазон 128 битов. Вы могли легко использовать любой другой блочный шифр. Преимущество для наличия большего пространства (за счет долгих Строк идентификатора) - то, что у Вас будет намного больше защиты от людей, предполагающих идентификаторы. (Не то, чтобы это ID заказа отдельно должен быть маркер безопасности так или иначе...)

12
ответ дан 30 November 2019 в 22:17
поделиться

Если Ваша идея состоит в том, что просто знания номера заказа (или URL) достаточно для получения информации о порядке затем:

  • пространство номера заказа должно быть чрезвычайно большим, иначе взломщики и/или клиенты будут очевидно искать пространство порядка, для наблюдения то, что видно.
  • необходимо полагать, что взломщик может запустить постепенное зондирование от многочисленных машин и может быть терпеливым.
  • Зондирование пространства номера заказа может быть смягчено ограничением уровня, но это очень трудно применить в веб-среде - трудно отличить Ваш клиентский доступ от доступа взломщика.
  • Полагают также, что номер заказа не является большой частью секрета, люди могли отправлять вокруг в электронных письмах; после того как это отсутствует, невозможно отречься.

Так, для удобства одного щелчка check-my-order-without-logging-in, Вы создали постоянную угрозу безопасности.

Даже при создании пространства номера заказа огромным у Вас все еще есть проблема, которую те URL пускают в ход вокруг туда, возможно, владеющий людьми, которые не должны были получать их.

было бы намного намного лучше потребовать сессии входа в систему для наблюдения чего-либо, затем только покажите им заказы, которые они разрешены видеть. Затем Вы не должны волноваться о скрывающихся номерах заказа или взломщиках, предполагающих номера заказа, потому что просто номер заказа не является достаточной информацией для доступа к чему-либо.

4
ответ дан 30 November 2019 в 22:17
поделиться

Я моделировал эту идею с помощью Шифра, блочного шифра с 64-разрядными блоками.

1
ответ дан 30 November 2019 в 22:17
поделиться

гуид является способом пойти для того

* редактирование *

, Вы могли бы хотеть посмотреть на этот http://csharpfeeds.com/post/4382/A_shorter_and_URL_friendly_GUID.aspx

0
ответ дан 30 November 2019 в 22:17
поделиться

Я не думаю, что эта схема является настолько замечательной из идеи. Почему Вы не проверяющий, что пользователь зарегистрирован и имеет доступ для просмотра указанного порядка?

, Если бы Вы ДЕЙСТВИТЕЛЬНО хотите просто иметь все заказы там без какой-либо аутентификации, GUID был бы лучшим.

Или, Вы могли попытаться придумать номера заказа, снабженные префиксом что-то о клиенте. Как (PhoneNumber) (1... 100)

0
ответ дан 30 November 2019 в 22:17
поделиться

Для соответствия требованию, Вы могли просто использовать хеш такой в качестве SHA-1 или MD5 на Ваших индексах. Они обеспечат достаточный уровень безопасности, которого Вы требуете.

Для перевода в нерабочее состояние размера можно измениться на другое кодирование; такой как 64 бита.

я также <ударил> бы, очень настоятельно рекомендуют настаивают на использовании соли, иначе значения хэш-функции могли легко быть повреждены.

0
ответ дан 30 November 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: