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