MD5, SHA-1, SHA-256, SHA-512
Коротко об инструменте
На вход идёт произвольный текст — строка, JSON, ключ API, тело вебхука. На выходе получается шестнадцатеричный хеш выбранного алгоритма: MD5, SHA-1, SHA-256 или SHA-512. Расчёт выполняет библиотека crypto-js, поэтому введённая строка остаётся в вашей вкладке и никуда не отправляется. Пригодится, когда нужно сверить контрольную сумму из документации, подписать запрос к платёжному шлюзу или воспроизвести хеш, который вернул чужой сервис. Смотрите также: разобрать JWT-токен на header и payload, создать UUID v4 для идентификатора, подобрать надёжный пароль.
Чаще всего дело в невидимых различиях входных данных. Проверьте, не попал ли в поле лишний перевод строки или пробел в конце, совпадает ли регистр и не отличается ли кодировка: страница хеширует строку как UTF-8, а старый PHP-скрипт мог считать её в windows-1251. Одна строка из четырёх символов даёт совершенно другой хеш при любой из этих разниц — сравнивайте не только результат, но и байты входа.
Нет. Здесь одно текстовое поле «Текст», поля выбора файла на странице нет, поэтому посчитать контрольную сумму ISO-образа или архива не получится. Для файлов используйте certutil -hashfile в Windows, sha256sum в Linux и macOS или Get-FileHash в PowerShell. Скопировать содержимое бинарного файла в текстовое поле нельзя — результат будет неверным.
Никак: хеш-функция односторонняя, и обратного преобразования у неё нет. То, что предлагают сайты «расшифровки MD5», — это перебор по заранее собранным словарям, который срабатывает только на коротких и популярных строках. Если вам нужно вернуть исходные данные, вам нужно шифрование, а не хеширование.
Для коллизионной стойкости — нет: для обоих алгоритмов практические коллизии давно опубликованы, и подписывать ими документы или проверять подлинность обновлений нельзя. Они остаются полезны там, где нужна просто быстрая метка: ключ кеша, дедупликация, совместимость со старым 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
До: Текст: hello world · Алгоритм: MD5
После: 5eb63bbbe01eeed093cb22bb8f5acdc3
До: Текст: (пусто) · Алгоритм: SHA-1
После: da39a3ee5e6b4b0d3255bfef95601890afd80709
Оценка и фидбек помогают понять, что улучшать дальше.