MD5 хеш
Считает MD5-хеш строки: 128-битный отпечаток в hex или Base64. Быстрый — подходит для контрольных сумм, но не для паролей и криптографии.
01
Хешер
02
Известные значения
фиксированная длина: любой ввод — 128 бит (32 hex-символа)03
О MD5 — что стоит знать
MD5 (Message Digest 5) — алгоритм хеширования 1991 года, который превращает любые данные в 128-битный отпечаток. Длина результата фиксирована — 32 hex-символа или 22 символа Base64. Обратить хеш в исходный текст невозможно.
MD5 сломан для криптографии: с 2004 года известны практические коллизии. Для паролей — bcrypt, scrypt или Argon2. Для проверки целостности файлов (checksum) MD5 всё ещё годится: там нет злоумышленника, а случайные ошибки он ловит надёжно.
MD5 сломан для криптографиис 2004
collision: hash(A) === hash(B), где A ≠ B
В 2004 году показаны практические коллизии MD5. С 2008 — атаки на PKI-сертификаты. Не использовать для подписей, TLS, паролей, аутентификации.
Но подходит для checksumOK
проверка целостности файла при скачивании
Для случайных ошибок (сбой сети, битый диск) MD5 надёжен: злоумышленник не участвует. Используется в rsync, git до 2005, дистрибутивах Linux вместе с более сильным SHA-256.
Для паролей — только bcrypt/Argon2критично
MD5(password) === MD5(password) → rainbow table
MD5 быстрый: миллиарды хешей в секунду на GPU. Rainbow tables + brute-force ломают пароли за минуты. Для хранения паролей — bcrypt, scrypt или Argon2 (медленные, с солью).
Замена: SHA-256, BLAKE2
sha256sum · openssl dgst -sha256 · crypto.subtle.digest('SHA-256')
Для новых проектов — SHA-256 (стандарт де-факто) или BLAKE2 (быстрее). Оба выдают более длинный хеш (64 символа hex вместо 32) и не имеют известных атак.