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

Проверка загруженного файла, побайтовое сравнение двух строк или создание «отпечатка» для процесса подписи, всё это опирается на криптографическое хеширование. Этот инструмент вычисляет распространённые семейства, MD5, SHA-1, SHA-2 (256/384/512) и CRC32, и даёт готовый для копирования дайджест для каждого из них. Введённый текст отправляется на наш сервер для вычисления дайджеста.

Как создать хеш

  1. 1

    Вставьте или введите данные

    Введите текст, который нужно хешировать. Этот генератор работает только с текстом, загрузки файлов нет.

  2. 2

    Выберите алгоритм хеширования

    Выберите MD5, SHA-1, SHA-256, SHA-384, SHA-512 или CRC32 в зависимости от вашей задачи.

  3. 3

    Создайте хеши

    Нажмите «Создать хеши». Появится дайджест выбранного алгоритма, а список ниже покажет все алгоритмы сразу.

  4. 4

    Скопируйте дайджест

    Полученный дайджест фиксированной длины готов к вставке в файл контрольной суммы, заголовок подписи или диалоговое окно сравнения.

Какой алгоритм хеширования выбрать?

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

Справочник по алгоритмам

Алгоритм Размер вывода Статус безопасности Типичное применение
MD5 128 бит Взломан, практические коллизии с 2004 года Контрольные суммы вне задач безопасности, ETag, ключи кэша
SHA-1 160 бит Устарел, коллизия «SHAttered» в 2017 году Идентификаторы объектов в старых версиях Git, устаревшие цепочки TLS
SHA-256 256 бит Безопасен, рекомендуемый по умолчанию TLS, подписи, целостность файлов, блокчейн
SHA-384 384 бит Безопасен TLS 1.3 (Suite B), более высокая целостность
SHA-512 512 бит Безопасен Очень большие наборы данных, построение HMAC
CRC32 32 бит Некриптографический, коллизии тривиальны Обнаружение ошибок (ZIP, PNG), быстрые проверки целостности

Хеширование не является шифрованием

Хеш односторонний: из дайджеста невозможно восстановить исходные данные. Важны два свойства:

  • Устойчивость к коллизиям, не существует двух разных входных значений, дающих одинаковый хеш. Нарушена в MD5 и SHA-1.
  • Устойчивость к прообразу, по заданному дайджесту невозможно найти входные данные, которые его порождают. Это свойство сохраняется даже для MD5 и SHA-1, поэтому контрольные суммы по-прежнему выявляют случайные повреждения.

Не используйте обычный SHA-256 для паролей

Для паролей нужна медленная функция с солью: bcrypt, scrypt, Argon2id или PBKDF2 с не менее чем 600 000 итераций. Быстрый хеш вроде SHA-256 можно взломать перебором со скоростью в миллиарды попыток в секунду на современных GPU.

Кодировка текста имеет значение

Хеширование строки означает хеширование её байтового представления. Значение "café" в кодировке UTF-8 даёт иной дайджест, чем то же слово в кодировке Latin-1. По умолчанию этот инструмент хеширует байты в кодировке UTF-8.

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

Почти всегда причина в различии кодировки или в конечном пробеле. Проверьте, что использует другой инструмент, UTF-8 или Latin-1, и не добавляет ли он символ перевода строки к входным данным перед хешированием.

Для обнаружения случайного повреждения загруженного файла MD5 вполне подходит. Но для всего, что злоумышленник может попытаться подделать (сертификаты, подписи кода, хранение паролей), MD5 взломан и использовать его нельзя.

Нет, этот генератор обрабатывает только текст. Чтобы проверить файл, используйте встроенную команду контрольной суммы вашей ОС, например sha256sum в Linux и macOS или Get-FileHash в Windows.

Введённый текст отправляется на наш сервер для вычисления дайджеста и не сохраняется после этого.

SHA-2, это семейство алгоритмов; к нему относятся SHA-224, SHA-256, SHA-384 и SHA-512. Когда кто-то говорит «SHA-2», не указывая размер, обычно имеется в виду SHA-256.

Сопутствующие инструменты

Кодировщик файлов Base64

Кодируйте любой файл (PDF, ZIP, изображение, исполняемый файл) в текст Base64 для встраивания в JSON, письма, YAML или data URI. Работает локально в браузере, без загрузки на сервер.

Генератор CSR

Создайте запрос на подпись сертификата в формате PEM и соответствующий закрытый ключ RSA. Укажите общее имя, поля организации и размер ключа (2048, 3072 или 4096 бит).

Кодировщик и декодировщик Base58

Кодируйте текст UTF-8 или шестнадцатеричные байты и безопасно декодируйте Base58 с алфавитом Bitcoin, Ripple или Flickr.

Генератор SSL-сертификатов

Создайте самоподписанный сертификат SSL/TLS и закрытый ключ RSA полностью в браузере. Свои Common Name, SAN и срок действия, экспорт в PEM.

Кодировщик шифра A1Z26

Кодируйте текст шифром A1Z26 (A=1, B=2, ... Z=26) или декодируйте числовую последовательность обратно в буквы, выбрав разделитель.

Проверка контрольной суммы

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

Инструмент доступен на других языках