Без загрузки, 100% локально, без аккаунта

Генератор хешей

Вычисляйте криптографические хеши (MD5, SHA-1, SHA-256, SHA-512) из любого текста или файла. Всё выполняется локально, без загрузки.

Как работает Генератор хешей

Генератор хешей вычисляет криптографические хеши и контрольные суммы вводимого текста или выбранного файла, охватывая MD5, SHA-1, SHA-256 и SHA-512. Хеши семейства SHA используют встроенный Web Crypto API браузера (SubtleCrypto.digest), что является проверенной, аппаратно ускоренной реализацией. MD5 вычисляется с помощью отдельной JavaScript-реализации, поскольку SubtleCrypto не включает MD5 (он не считается криптографически безопасным для новых применений). Ничто из введённого не передаётся; каждый хеш создаётся полностью на устройстве.

Обычные применения включают: проверку целостности скачанного файла по опубликованной контрольной сумме, создание фиксированной по длине «цифровой подписи» строки для использования в качестве ключа кэша или идентификатора, или проверку идентичности двух текстовых значений без посимвольного сравнения.

Генератор хешей: пошаговая инструкция

  1. Введите или вставьте текст для хеширования в поле ввода.
  2. Все значения хешей обновляются немедленно по мере ввода.
  3. Нажмите значок копирования рядом с любым хешем, чтобы скопировать его в буфер обмена.
  4. Выберите конкретные алгоритмы с помощью флажков, если нужны только определённые типы хешей.

Частые сценарии использования

  • Разработчик хочет вычислить хеш SHA-256 строки для сравнения с серверной HMAC-подписью при отладке.
  • Системный администратор скачивает программный пакет и проверяет его MD5 или SHA-256 контрольную сумму по опубликованному значению издателя.
  • Инженер базы данных использует короткий хеш SHA-1 от URL-строки как компактный, устойчивый к коллизиям ключ кэша.
  • Аудитор безопасности проверяет, совпадает ли хеш SHA-512 двух файлов конфигурации, чтобы убедиться в их побайтовой идентичности.

Часто задаваемые вопросы

Какие алгоритмы хеширования поддерживает этот инструмент?

MD5, SHA-1, SHA-256 и SHA-512. SHA-1, SHA-256 и SHA-512 вычисляются с помощью метода SubtleCrypto.digest Web Crypto API в браузере. MD5 использует отдельную JavaScript-реализацию на стороне клиента, поскольку SubtleCrypto не поддерживает MD5 (он исключён как криптографически скомпрометированный в целях безопасности, хотя остаётся полезным для контрольных сумм).

Отправляется ли введённый текст на сервер для хеширования?

Нет. Хеширование выполняется локально в браузере. Хеши SHA-* используют SubtleCrypto, встроенный API браузера, работающий полностью в процессе браузера. Хеш MD5 использует JavaScript-библиотеку, включённую в страницу. Ничто из введённого здесь не покидает вкладку браузера.

Можно ли использовать SHA-256 из этого инструмента для цифровой подписи или HMAC?

Этот инструмент вычисляет исходный хеш входного текста. HMAC требует секретного ключа, смешанного с процессом хеширования, что этот инструмент не делает. Для HMAC-SHA-256 нужно использовать метод SubtleCrypto.sign Web Crypto API в собственном коде или библиотеку, которая его оборачивает.

Почему MD5 описывается как «небезопасный в криптографическом отношении»?

В MD5 обнаружены уязвимости к коллизиям: можно создать два разных входных значения, дающих одинаковый хеш MD5. Это делает его непригодным для критически важных в отношении безопасности применений, таких как хранение паролей или цифровые подписи. Он по-прежнему широко используется для некриптографических контрольных сумм, например для проверки того, что файл не был повреждён при передаче, что является вполне допустимым применением.

Можно ли хешировать файл, а не вводимый текст?

Да. Переключитесь в режим файла и выберите файл: он считывается как ArrayBuffer и хешируется побайтово, именно это и покрывает опубликованная контрольная сумма. Чтение двоичного файла как текста в UTF-8 повредило бы его, поэтому файл никогда не проходит через текстовое поле. Как и в текстовом режиме, всё остаётся на вашем устройстве.

Нужен ли аккаунт, и можно ли пользоваться этим на телефоне?

Аккаунт не требуется. SubtleCrypto это стандартный браузерный API, доступный в мобильных Chrome и Safari так же, как и в настольных браузерах, поэтому проверка контрольной суммы работает на телефоне так же.