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