IT Market
Инструменты/Безопасность/Хеши/Генератор хешей MD5 и SHA-256 онлайн бесплатно
Генератор хешей

MD5, SHA-1, SHA-256, SHA-512

Коротко об инструменте

Генератор хешей MD5 и SHA-256

На вход идёт произвольный текст — строка, JSON, ключ API, тело вебхука. На выходе получается шестнадцатеричный хеш выбранного алгоритма: MD5, SHA-1, SHA-256 или SHA-512. Расчёт выполняет библиотека crypto-js, поэтому введённая строка остаётся в вашей вкладке и никуда не отправляется. Пригодится, когда нужно сверить контрольную сумму из документации, подписать запрос к платёжному шлюзу или воспроизвести хеш, который вернул чужой сервис. Смотрите также: разобрать JWT-токен на header и payload, создать UUID v4 для идентификатора, подобрать надёжный пароль.

Как пользоваться

  1. Вставьте исходную строку в поле «Текст» — там по умолчанию стоит подсказка Hello World, её можно просто заменить.
  2. В списке «Алгоритм» выберите MD5, SHA-1, SHA-256 или SHA-512 — по умолчанию предлагается вариант из начала списка.
  3. Нажмите кнопку «Генерировать»: значение появится в поле «Хеш» в нижнем регистре шестнадцатеричными символами.
  4. Нажмите «Копировать», чтобы забрать результат в буфер обмена и вставить его в тикет, тест или документацию.
  5. Чтобы сравнить алгоритмы на одной и той же строке, смените значение в «Алгоритм» и нажмите «Генерировать» ещё раз.

Вопросы и ответы

Почему мой хеш не совпадает с тем, что выдал сервер?

Чаще всего дело в невидимых различиях входных данных. Проверьте, не попал ли в поле лишний перевод строки или пробел в конце, совпадает ли регистр и не отличается ли кодировка: страница хеширует строку как UTF-8, а старый PHP-скрипт мог считать её в windows-1251. Одна строка из четырёх символов даёт совершенно другой хеш при любой из этих разниц — сравнивайте не только результат, но и байты входа.

Можно ли посчитать хеш файла, а не текста?

Нет. Здесь одно текстовое поле «Текст», поля выбора файла на странице нет, поэтому посчитать контрольную сумму ISO-образа или архива не получится. Для файлов используйте certutil -hashfile в Windows, sha256sum в Linux и macOS или Get-FileHash в PowerShell. Скопировать содержимое бинарного файла в текстовое поле нельзя — результат будет неверным.

Как узнать исходный текст по хешу?

Никак: хеш-функция односторонняя, и обратного преобразования у неё нет. То, что предлагают сайты «расшифровки MD5», — это перебор по заранее собранным словарям, который срабатывает только на коротких и популярных строках. Если вам нужно вернуть исходные данные, вам нужно шифрование, а не хеширование.

Подходит ли MD5 и SHA-1 для чего-то серьёзного?

Для коллизионной стойкости — нет: для обоих алгоритмов практические коллизии давно опубликованы, и подписывать ими документы или проверять подлинность обновлений нельзя. Они остаются полезны там, где нужна просто быстрая метка: ключ кеша, дедупликация, совместимость со старым API, который требует именно MD5. Для всего остального берите SHA-256.

Можно ли так хранить пароли пользователей?

Нет, и это самая частая ошибка. Быстрые хеши вроде SHA-256 перебираются на видеокарте миллиардами вариантов в секунду. Для паролей нужны намеренно медленные функции с солью — Argon2id, bcrypt или scrypt, в PHP это password_hash() с password_verify(). Этот инструмент для контрольных сумм, а не для базы учётных записей.

Работает ли расчёт с кириллицей и эмодзи?

Да. Строка кодируется в UTF-8, поэтому «Привет» и эмодзи хешируются корректно. Помните только, что тот же текст в другой кодировке даст другой хеш: «Привет» в UTF-8 занимает 12 байт, а в windows-1251 — шесть, и SHA-256 у них разный. Если сравниваете результат с чужой системой, сначала уточните её кодировку.

Уходит ли введённая строка на сервер?

Нет. Хеширование выполняет JavaScript в вашей вкладке через библиотеку crypto-js, никаких запросов с содержимым поля страница не делает. Сама библиотека подгружается с CDN cdnjs.cloudflare.com, поэтому при первом открытии нужен интернет, но данные из поля туда не передаются.

Примеры

Сверка контрольной суммы из документации
До: Текст: hello world · Алгоритм: SHA-256
После: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
Короткий MD5 для имени файла кеша
До: Текст: hello world · Алгоритм: MD5
После: 5eb63bbbe01eeed093cb22bb8f5acdc3
Пустая строка как контрольный случай
До: Текст: (пусто) · Алгоритм: SHA-1
После: da39a3ee5e6b4b0d3255bfef95601890afd80709