Максимальная длина для ввода/вывода MD5

Какова максимальная длина строки, которая может иметь хешированный md5? Или: Если это не имеет никакого предела, и раз так какова будет макс. длина md5 выходного значения?

155
задан Gumbo 2 November 2012 в 18:12
поделиться

7 ответов

MD5 обрабатывает сообщение произвольной длины в выходной файл фиксированной длины из 128 бит, обычно представленный как последовательность из 32 шестнадцатеричных цифр.

221
ответ дан 23 November 2019 в 21:55
поделиться

Длина может быть любой, но, конечно, может возникнуть проблема с памятью на компьютере, если входная строка String слишком длинная. На выходе всегда получается 32 символа.

9
ответ дан 23 November 2019 в 21:55
поделиться

128-битный хэш MD5 представлен в виде последовательности из 32 шестнадцатеричных цифр.

4
ответ дан 23 November 2019 в 21:55
поделиться

Вы можете использовать SHA-1 вместо MD5 , так как MD5 считается неработающим.

Подробнее об уязвимостях MD5 можно прочитать в этой статье Википедии .

3
ответ дан 23 November 2019 в 21:55
поделиться

Добавить длину

64-битное представление b (длина сообщения до добавлены биты заполнения) добавляется к результату предыдущего шаг. В том маловероятном случае, если b больше 2 ^ 64, тогда только используются младшие 64 бита b.

  • Хэш всегда 128 бит. Если вы закодируете его как шестнадцатеричную строку, вы можете закодировать 4 бита на символ, что даст 32 символа.
  • MD5 не является шифрованием. Как правило, вы не можете «расшифровать» хеш MD5, чтобы получить исходную строку.

Подробнее см. здесь .

37
ответ дан 23 November 2019 в 21:55
поделиться

Алгоритм был разработан для поддержки произвольной длины ввода. То есть вы можете вычислять хэши больших файлов, таких как ISO DVD ...

Если есть ограничение на ввод, он может поступать из среды, в которой используется хеш-функция. Допустим, вы хотите вычислить файл, а среда имеет ограничение MAX_FILE.

Но выходная строка всегда будет одинаковой: 32 шестнадцатеричных символа (128 бит)!

6
ответ дан 23 November 2019 в 21:55
поделиться

Насколько мне известно, ввод md5 не ограничен. Некоторые реализации требуют, чтобы весь ввод был загружен в память перед передачей его в функцию md5 (т.е. реализация действует в блоке памяти, а не в потоке), но это не ограничение самого алгоритма. На выходе всегда 128 бит. Обратите внимание, что md5 - это не алгоритм шифрования, а криптографический хеш. Это означает, что вы можете использовать его для проверки целостности блока данных, но не можете отменить хеширование. Также обратите внимание, что md5 считается сломанным, поэтому вы не должны использовать его для чего-либо, связанного с безопасностью (все еще можно проверить целостность загруженных файлов и т. Д.).

3
ответ дан 23 November 2019 в 21:55
поделиться
Другие вопросы по тегам:

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