энергия fu, подкачивая параметры для вызова метода

Хорошая хеш-функция имеет следующие свойства:

  1. , Учитывая хеш сообщения в вычислительном отношении невозможно для взломщика найти другое сообщение таким образом, что их хеши идентичны.

  2. , Учитывая пару сообщения, m' и m, в вычислительном отношении невозможно найти два таким образом, что это h (m) = h (m')

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

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

не используют MD5 или SHA-1 в новых проектах. Большинство шифровальщиков, меня включенный, считало бы их поврежденными. Принципиальный источник слабости в обоих из этих проектов - то, что второе свойство, которое я обрисовал в общих чертах выше, не содержит для этих конструкций. Если взломщик может сгенерировать два сообщения, m и m', это оба хеша к тому же значению, они могут использовать эти сообщения против Вас. SHA-1 и MD5 также страдают от нападений расширения сообщения, которые могут фатально ослабить Ваше приложение, если Вы не осторожны.

А более современный хеш, такой как Whirpool является лучшим выбором. Это не страдает от этих, расширение сообщения нападает и использует ту же математику в качестве использования AES для доказательства безопасности против множества нападений.

Hope, которая помогает!

22
задан Sam Saffron 13 August 2009 в 06:25
поделиться

3 ответа

3
ответ дан 29 November 2019 в 05:26
поделиться

Это регулярное выражение сделает это для ваших примеров:

:s/\vcall ("[^"]+"|[^,]+)\s*,\s*("[^"]+"|[^,]+)/call \2, \1/

Это регулярное выражение должно будет становиться все более неприятным, если вы сбежали кавычки и тому подобное в одном из ваших параметров.

На самом деле, я бы просто выделил один параметр (в визуальном режиме), нажал d , выделил другой параметр и нажал p ; Vim аккуратно вставит то, что находится в реестре, перезаписав то, что вы выделили, и заменит удаленный текст в реестр. Затем переместите курсор и снова нажмите p . Выделение, d , выделение, p , перемещение курсора, p - обычная комбинация, по крайней мере, в моем vimming.

Итак, с курсором на начало строки, первый пример:

wva"dlvawpF,P

Значение пройти мимо слова «позвонить»

17
ответ дан 29 November 2019 в 05:26
поделиться
:%s:call \(".*"\)\s\?,\(.*\):call \2,\1:g
0
ответ дан 29 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

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