Генератор хешей SHA1
SHA-1 производит 160-битный дайджест (40 шестнадцатеричных символов) и является хешем, стоящим за ID объектов git, устаревшими контрольными суммами SVN и кучей систем подписи до 2017 года. Вставьте любой текст, и вы получите детерминированный хеш. Важная оговорка сразу: SHA-1 сломан по стойкости к коллизиям (SHAttered, 2017) и не должен использоваться для новых подписей или хранения паролей, он годится только для неконфликтных проверок целостности.
Как вычислить хеш SHA-1
-
1
Вставьте ваш ввод
Любой текст: строка, целый файл, выгруженный в текст, или шестнадцатеричная последовательность.
-
2
Кодировка UTF-8
Ввод сериализуется в байты UTF-8 перед хешированием, что соответствует значению по умолчанию в OpenSSL, Python hashlib и Node crypto.
-
3
Запускается цикл Меркла-Дамгарда
Сообщение дополняется, разбивается на 512-битные блоки и пропускается через функцию сжатия SHA-1 по 80 раундов на блок.
-
4
Скопируйте 40-символьный шестнадцатеричный дайджест
Вывод всегда составляет 40 шестнадцатеричных символов в нижнем регистре (160 бит).
SHA-1 с первого взгляда
| Свойство | Значение |
|---|---|
| Размер вывода | 160 бит / 40 шестнадцат. символов |
| Размер блока | 512 бит |
| Раунды | 80 |
| Стойкость к коллизиям | Сломана (2^63, выбранный префикс) |
| Стойкость к прообразу | Сохраняется (на момент написания) |
| Скорость | ~500 МБ/с на одном современном ядре |
Где SHA-1 еще приемлем
- Git. ID коммитов и блобов, это SHA-1 (с SHA-256 по выбору). Коллизии запутали бы историю, но не могут подделать коммит без ключа автора.
- Дедупликация без безопасности. Контентная адресация в объектном хранилище, где модель угроз не включает атакующего.
- Обратно совместимые API. Устаревшие вебхуки вроде
X-Hub-Signature(v1) от GitHub. - Криминалистические идентификаторы. Снятие отпечатков файлов для дедупликации по архиву.
Где SHA-1 неприемлем
- TLS-сертификаты. Браузеры перестали доверять сертификатам SHA-1 начиная с 2017 года.
- Подпись кода. Microsoft, Apple и Mozilla отвергли подписи SHA-1.
- Хеширование паролей. Используйте Argon2id или bcrypt.
- HMAC в новом дизайне. Используйте как минимум HMAC-SHA-256.
Если хотите проверить вывод
Сравните с echo -n "hello" | sha1sum на любой Unix-системе. Хеш для строки hello, это aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d.
Часто задаваемые вопросы
Математически, нет. Для распространенных коротких вводов атакующий с предвычисленным словарем может опознать их мгновенно, поэтому одни хеши не защищают пароли. Для 40-символьной случайной строки практического обращения не существует.
Нет. SHA (Secure Hash Algorithm), это семейство, опубликованное NIST. SHA-1, это 160-битный алгоритм 1995 года. SHA-2, это семейство, включающее SHA-224, SHA-256, SHA-384 и SHA-512.
Ради совместимости с историей более чем за десятилетие. С 2017 года git защищается от коллизий chosen-prefix (SHA-1DC) и поддерживает репозитории SHA-256 для новых проектов.
На нашем сервере. Ваш текст передается по зашифрованному соединению, хешируется стандартной функцией SHA-1, и возвращается 40-символьный дайджест. Мы не храним отправленный вами текст. Поскольку SHA-1 является односторонней функцией, сам дайджест нельзя превратить обратно в ваш ввод.
Сопутствующие инструменты
Генератор SSL-сертификатов
Создайте самоподписанный сертификат SSL/TLS и закрытый ключ RSA полностью в браузере. Свои Common Name, SAN и срок действия, экспорт в PEM.
Генератор ключей PGP
Создайте пару ключей OpenPGP в текстовом формате ASCII и сертификат отзыва с Curve25519, RSA 2048 или RSA 4096.
Генератор хешей
Создавайте хеши MD5, SHA-1, SHA-256, SHA-384, SHA-512 и CRC32 из текста, с готовым для копирования дайджестом для контрольных сумм и сравнений.
Кодировщик и декодировщик Base85
Кодируйте и декодируйте Base85 в варианте Adobe Ascii85, который используется в файлах PostScript и PDF. Компактнее Base64 для двоичных данных.
Конвертер ETH в USD
Переводите Ethereum (ETH) в доллары США по актуальному курсу ETH/USD или по своему курсу. Узнайте, сколько стоит в долларах любое количество ETH.
Идентификатор шифрования
Вставьте зашифрованный текст, и идентификатор предложит вероятные схемы кодирования/шифрования: Base64, hex, двоичный, Морзе, Цезарь или подстановочный, JWT и распространенные хеши.
Инструмент доступен на других языках
- Generador de Hash SHA1 [ES]
- SHA1 해시 생성기 [KO]
- Generator skrótów SHA1 [PL]
- เครื่องสร้างแฮช SHA1 [TH]
- SHA1-hashgenerator [NL]
- Gerador de Hash SHA1 [PT]
- SHA1ハッシュジェネレータ [JA]
- SHA1-hashgenerator [SV]
- Bộ tạo giá trị hash SHA1 [VI]
- مولد تجزئة SHA1 [AR]
- Générateur de hachage SHA1 [FR]
- SHA1-Hash-Generator [DE]
- Generator Hash SHA1 [ID]
- SHA1 Hash Generator [EN]
- Generatore di hash SHA1 [IT]
- SHA1 Hash Oluşturucu [TR]
- SHA1哈希生成器 [ZH]