Генератор хешей
Вычислите хеши MD5, SHA-1, SHA-256, SHA-384 и SHA-512 для текста или файла и сверьте скачанный файл с опубликованной контрольной суммой.
Работает полностью в браузере
Перетащите файл, чтобы получить его хеш
Любой тип, до 200 МБ. Файл читается на этом устройстве и не загружается.
Текст до 5 МБ. Файлы до 200 МБ, они читаются в память на этом устройстве.
Как получить хеш
- Введите или вставьте текст либо переключитесь на «Файл» и выберите файл. Все пять хешей вычисляются сразу.
- Выберите формат вывода: hex строчными, hex прописными или Base64.
- Чтобы проверить скачанный файл, вставьте опубликованную контрольную сумму в поле Сравнить; подходящий алгоритм будет подсвечен. Скопируйте хеш или скачайте все хеши файлом .txt.
Для чего нужен хеш
Криптографическая хеш-функция превращает любые данные, от одной буквы до большого файла, в короткий отпечаток фиксированной длины. Одинаковые данные всегда дают одинаковый отпечаток, а изменение даже одного бита даёт совершенно другой. Поэтому хеши полезны для проверки того, что файл дошёл без изменений, для поиска дубликатов, а также как составная часть подписей и систем контроля версий.
Чтобы проверить скачанный файл, найдите контрольную сумму, которую издатель указал рядом с ним (чаще всего SHA-256), перетащите файл сюда и вставьте сумму в поле «Сравнить». Если значения совпали, файл байт в байт совпадает с тем, что хешировал издатель. Совпадение доказывает, что это именно тот файл, лишь если вы доверяете странице, с которой взята контрольная сумма.
Хеши SHA-1 и SHA-2 (SHA-256, SHA-384, SHA-512) вычисляются функциями Web Crypto вашего браузера. Браузеры не поддерживают MD5, поэтому на странице есть собственный код MD5: он читает файлы частями и показывает ход выполнения для больших файлов. MD5 и SHA-1 оставлены только для совместимости со старыми контрольными суммами.
Советы
- Нужно содержимое файла в виде текста, а не отпечаток? Воспользуйтесь инструментом «Кодирование и декодирование Base64».
- Чтобы создать надёжный случайный секрет, а не хешировать готовый, используйте «Генератор паролей».
- Два текста удобнее сравнивать построчно в инструменте «Сравнить тексты», чем по двум хешам.
Вопросы и ответы
Мой текст или файл загружается на сервер?
Нет. Хеши вычисляются в вашем браузере: SHA встроенными функциями Web Crypto, а MD5 кодом на этой странице. Ничего не отправляется и не сохраняется, а при закрытии вкладки всё стирается.
Безопасно ли использовать MD5 или SHA-1?
Для защиты данных нет. Оба алгоритма взломаны: можно намеренно создать два разных входа с одинаковым хешем MD5 или SHA-1. Для обнаружения случайных повреждений, например чтобы убедиться, что файл скачался целым, они по-прежнему годятся. Если данные может подменить злоумышленник, а также для подписей используйте SHA-256 или более стойкий алгоритм.
Можно ли хешировать здесь пароли?
Хеш пароля увидеть можно, но простой хеш — неверный способ хранения паролей: такие быстрые хеши можно перебирать миллиарды раз в секунду. Для хранения паролей нужен медленный алгоритм с солью, например Argon2, scrypt или bcrypt, который выполняется на вашем сервере.
Хеширование — то же самое, что шифрование?
Нет. Шифрование обратимо с помощью ключа. Хеш — это отпечаток фиксированной длины, из которого нельзя восстановить исходные данные; найти вход можно только подбором и сравнением. Одинаковые данные всегда дают одинаковый хеш, а изменение одного символа даёт совершенно другой.
Почему мой хеш не совпадает с полученным в командной строке?
Проверьте, нет ли перевода строки в конце: echo "text" | sha256sum хеширует текст вместе с символом новой строки, а это поле хеширует ровно то, что вы ввели. Текст хешируется как UTF-8, а переводы строк в поле — одиночные символы LF, поэтому текст, скопированный из файла Windows (CRLF), может дать другой результат. Для точного совпадения хешируйте сам файл в режиме «Файл».
Что здесь означают hex и Base64?
Это два способа записи одних и тех же байтов хеша. Hex использует два символа на байт (SHA-256 — это 64 hex-символа); Base64 короче (44 символа) и применяется, например, в атрибутах Subresource Integrity. Поле «Сравнить» принимает любой из форматов.