Генератор хешей MD5, SHA-256 онлайн и контрольные суммы
Хеши MD5 и SHA для текста и файлов прямо в браузере
Работает в браузере · файлы никуда не загружаются
Хеш файла
Перетащите файл сюда или выберите его. Файлы никуда не загружаются.
- MD5
- SHA-1
- SHA-256
- SHA-384
- SHA-512
Для MD5 и SHA-1 известны атаки на коллизии; не используйте их для задач безопасности.
Что это
Хеш-функция превращает любые данные в «отпечаток» фиксированной длины. Одни и те же данные всегда дают одно значение, а изменение одного символа — совершенно другое. Поэтому хеши удобны, чтобы проверить, что файл не изменился, или сравнить скачанный файл с опубликованной контрольной суммой. Инструмент показывает пять алгоритмов рядом.
Как пользоваться
- Введите или вставьте текст — хеши обновятся сразу.
- Чтобы получить хеш файла, перетащите его в область файла или нажмите «Выбрать файл». Ввод в текстовое поле возвращает режим текста.
- Выберите вывод Hex или Base64; hex можно показать заглавными буквами.
- Чтобы сверить опубликованную контрольную сумму, вставьте её в поле Ожидаемый хеш. Регистр не учитывается, пробелы и переносы внутри сгруппированной суммы удаляются, а имя файла в конце (как в выводе
sha256sum), префиксsha256:и BSD-форматSHA256 (file) = …распознаются — страница покажет, какой алгоритм совпал. Кнопки «Копировать» по-прежнему копируют любое значение.
Как это работает
- Текст сначала кодируется в байты UTF-8. Буква кириллицы занимает 2 байта, корейский слог — 3, большинство эмодзи — 4.
- SHA-1, SHA-256, SHA-384 и SHA-512 вычисляются через WebCrypto API браузера (
crypto.subtle.digest). - MD5 в WebCrypto нет, поэтому его считает библиотека с открытым кодом spark-md5.
- Вывод Base64 кодирует сами байты хеша, а не строку hex.
- MD5 и SHA-1 оставлены только для совместимости и проверки целостности. Для задач безопасности используйте SHA-256 или сильнее, а для паролей — специальные алгоритмы.
Примеры
| Ввод | Алгоритм | Результат |
|---|---|---|
abc |
MD5 | 900150983cd24fb0d6963f7d28e17f72 |
| пустая строка | MD5 | d41d8cd98f00b204e9800998ecf8427e |
abc |
SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
Привет |
SHA-256 | dd679c0b9fd408a04148aa7d30c9df393f67b7227f65693fffe0ed6d0f0ade59 |
Это стандартные тестовые векторы или значения, сверенные с модулем crypto в Node.js.
Частые вопросы
Почему хеш одного и того же русского текста отличается от другого сайта?
Потому что текст по-разному превращается в байты. Здесь хешируются байты UTF-8, поэтому MD5 от «Привет» равен 8a669e9418750c81ab90ae159a8ec410. Инструмент, использующий UTF-16 или Windows-1251, даст другое значение.
Загружается ли мой файл?
Нет. Файл считывается прямо в память браузера и хешируется там. Поскольку он загружается в память, файлы больше 200 МБ не поддерживаются.
Можно ли хранить пароли в виде хешей MD5 или SHA-256?
Небезопасно. Эти функции рассчитаны на скорость, поэтому перебор обходится дёшево. Используйте намеренно медленные функции для паролей, например bcrypt, scrypt или Argon2.
Можно ли ещё пользоваться MD5 и SHA-1?
Для обнаружения случайных повреждений — да. Для задач безопасности — нет: для обоих известны практические атаки на коллизии.