Генератор хешей
MD5, SHA-1, SHA-256, SHA-512 и HMAC — всё считается в браузере
Об этом инструменте
Вычисляйте дайджесты MD5, SHA-1, SHA-256, SHA-384 и SHA-512 для любого текста, а также подписи HMAC с ключом — прямо в браузере. Семейство SHA и HMAC используют Web Crypto API — те же проверенные примитивы, которые ваш браузер применяет для TLS, — а MD5 (который Web Crypto намеренно не включает) поставляется как небольшая локальная реализация для работы с устаревшими контрольными суммами.
Хэши обновляются на лету по мере набора, и все алгоритмы вычисляются одновременно, поэтому сверка значения с контрольной суммой в любом алгоритме, который выбрала страница загрузки, не требует никаких настроек. Режим HMAC добавляет поле секретного ключа для проверки подписей вебхуков — GitHub, Stripe и большинство провайдеров вебхуков подписывают данные с помощью HMAC-SHA256.
Поскольку ввод никогда не покидает страницу, здесь безопасно хэшировать то, что нельзя было бы вставить в онлайн-сервис: данные API, пароли, которые вы сверяете со списком утёкших хэшей, внутренние документы.
Частые вопросы
- Какой алгоритм хэширования выбрать?
- Для всего, что сегодня имеет отношение к безопасности: SHA-256 или сильнее. MD5 и SHA-1 сломаны в части стойкости к коллизиям — можно сконструировать два разных входа с одинаковым дайджестом, — поэтому они выживают только для контрольных сумм без злоумышленника и совместимости с устаревшими протоколами.
- Почему MD5 вообще всё ещё предлагается?
- Потому что вы всё ещё с ним сталкиваетесь: ETag, ключи кэша, манифесты файлов, старые колонки баз данных. Для проверки таких значений приходится вычислять MD5 независимо от его криптографического статуса. Просто не проектируйте ничего нового вокруг него.
- Что такое HMAC и чем он отличается от обычного хэша?
- HMAC подмешивает секретный ключ в хэширование, поэтому создать или проверить дайджест могут только владельцы ключа. Обычный хэш доказывает целостность («эти данные не изменялись»); HMAC вдобавок доказывает подлинность («это сделал кто-то с ключом»). Повседневный пример — проверка подписей вебхуков.
- Хэширование — это то же самое, что шифрование пароля?
- Нет, и быстрые хэши вроде SHA-256 — неподходящий инструмент для хранения паролей: атакующие могут перебирать миллиарды вариантов в секунду. Для хранения паролей нужен намеренно медленный алгоритм с солью: bcrypt, scrypt или Argon2.