Утилиты · Современная криптография
Хеш онлайн: SHA-256, MD5
MD5, SHA-1, SHA-256, SHA-384, SHA-512 и CRC32 от текста или файла — с лавинным эффектом наглядно.
Считается в вашем браузере. Текст никуда не отправляется.
Как пользоваться
Введите текст — хеши MD5, SHA-1, SHA-256, SHA-384, SHA-512 и CRC32 появятся сразу и будут меняться с каждой буквой. Текст переводится в байты UTF-8, поэтому результат совпадает с тем, что выдают sha256sum, Python hashlib и другие программы, если подать им тот же текст без перевода строки в конце.
Чтобы посчитать хеш файла, переключитесь на «Файл» и перетащите его в рамку. Файл читается браузером прямо с диска и никуда не загружается, поэтому можно проверять и большие дистрибутивы.
Проверить скачанный файл
Многие сайты публикуют рядом со ссылкой контрольную сумму: строку вроде SHA256: 9f86d0…. Вставьте её в поле «Сравнить с хешем». Если какой-то из хешей совпадёт, строка подсветится зелёным: файл тот же, что у автора, ни один байт не изменился. Регистр, пробелы и двоеточия при сравнении не важны.
Лавинный эффект
Во втором блоке тот же текст с одной правкой. Два квадрата — биты двух хешей; красным отмечены те, что различаются. У хорошего хеша их примерно половина, и по ним нельзя понять, что именно поменялось в тексте. Это свойство и делает хеш «отпечатком»: похожие тексты дают совершенно непохожие хеши.
Частые вопросы
Можно ли расшифровать хеш?
Нет. Хеш — не шифр, а отпечаток: из него нельзя вернуть исходный текст, потому что информации в нём меньше, чем в тексте. Найти исходник можно только угадыванием: посчитать хеши множества вариантов и сравнить. Так и ломают короткие пароли — об этом урок о хешах.
Какой хеш выбрать?
Для проверки целостности и подписей — SHA-256 или SHA-512. MD5 и SHA-1 сломаны: для них умеют подбирать два разных файла с одинаковым хешем. CRC32 — это контрольная сумма против случайных ошибок передачи, от намеренной подделки она не защищает. Для хранения паролей ни один из этих хешей не годится сам по себе: нужны медленные функции вроде bcrypt, scrypt или Argon2 с солью.
Почему хеш пустой строки не пустой?
У хеша всегда одна и та же длина, сколько бы байтов ни было на входе. SHA-256 от пустой строки начинается с e3b0c442.
Безопасно ли вводить сюда пароль?
Всё считается в браузере, на сервер ничего не уходит. Но привычка вставлять настоящие пароли в веб-страницы всё же плохая.