Какова максимальная длина строки, которая может иметь хешированный md5? Или: Если это не имеет никакого предела, и раз так какова будет макс. длина md5 выходного значения?
MD5 обрабатывает сообщение произвольной длины в выходной файл фиксированной длины из 128 бит, обычно представленный как последовательность из 32 шестнадцатеричных цифр.
Длина может быть любой, но, конечно, может возникнуть проблема с памятью на компьютере, если входная строка String слишком длинная. На выходе всегда получается 32 символа.
128-битный хэш MD5 представлен в виде последовательности из 32 шестнадцатеричных цифр.
Вы можете использовать SHA-1 вместо MD5 , так как MD5 считается неработающим.
Подробнее об уязвимостях MD5 можно прочитать в этой статье Википедии .
Добавить длину
64-битное представление b (длина сообщения до добавлены биты заполнения) добавляется к результату предыдущего шаг. В том маловероятном случае, если b больше 2 ^ 64, тогда только используются младшие 64 бита b.
Подробнее см. здесь .
Алгоритм был разработан для поддержки произвольной длины ввода. То есть вы можете вычислять хэши больших файлов, таких как ISO DVD ...
Если есть ограничение на ввод, он может поступать из среды, в которой используется хеш-функция. Допустим, вы хотите вычислить файл, а среда имеет ограничение MAX_FILE.
Но выходная строка всегда будет одинаковой: 32 шестнадцатеричных символа (128 бит)!
Насколько мне известно, ввод md5 не ограничен. Некоторые реализации требуют, чтобы весь ввод был загружен в память перед передачей его в функцию md5 (т.е. реализация действует в блоке памяти, а не в потоке), но это не ограничение самого алгоритма. На выходе всегда 128 бит. Обратите внимание, что md5 - это не алгоритм шифрования, а криптографический хеш. Это означает, что вы можете использовать его для проверки целостности блока данных, но не можете отменить хеширование. Также обратите внимание, что md5 считается сломанным, поэтому вы не должны использовать его для чего-либо, связанного с безопасностью (все еще можно проверить целостность загруженных файлов и т. Д.).