В этой статье
Что такое хеширование?
Хеширование — это одностороннее преобразование, которое превращает произвольные входные данные в строку фиксированной длины, называемую хешем или дайджестом. Одни и те же входные данные всегда дают одинаковый хеш, однако обратный процесс вычислительно невозможен — восстановить исходные данные из хеша нельзя.
Разные алгоритмы хеширования дают хеши разной длины: MD5 — 128-битные (32 шестнадцатеричных символа), SHA-1 — 160-битные, SHA-256 — 256-битные, SHA-512 — 512-битные. Более длинный выход, как правило, означает лучшую устойчивость к коллизиям.
Как работает генерация хешей
Генератор хешей CheckTown применяет криптографические хеш-функции к вашим данным и возвращает дайджест в нескольких форматах.
- Выбор алгоритма — выбирайте из MD5, SHA-1, SHA-256, SHA-512 и других распространённых алгоритмов
- Формат вывода — просматривайте результат в hex, Base64 или двоичном формате в зависимости от задачи
- Мгновенное вычисление — хеши вычисляются на стороне клиента в браузере; данные не отправляются ни на какой сервер
Попробуйте бесплатно — без регистрации
Сгенерировать хеш →Когда использовать генератор хешей
Хеширование решает множество задач в области безопасности, проверки целостности данных и разработки программного обеспечения.
- Целостность файлов — генерируйте контрольные суммы SHA-256 для файлов, чтобы убедиться в их неизменности
- Хранение паролей — используйте bcrypt или Argon2 (не MD5 и не SHA-1) для хранения паролей с правильным солением
- Адресация по содержимому — генерируйте идентификаторы на основе содержимого для кеширования, дедупликации или отслеживания версий
Частые вопросы
Можно ли ещё использовать MD5?
MD5 не следует применять в задачах, связанных с безопасностью. Этот алгоритм криптографически скомпрометирован — атаки на коллизии вычислительно осуществимы. MD5 по-прежнему допустим для задач, не связанных с безопасностью, например для контрольных сумм при обнаружении случайного повреждения данных, но не для паролей, цифровых подписей или аутентификации.
В чём разница между хешированием и шифрованием?
Шифрование обратимо — данные, зашифрованные с помощью ключа, можно расшифровать правильным ключом. Хеширование одностороннее — ключа нет, и восстановить исходные данные из хеша невозможно. Используйте шифрование, когда нужно извлечь исходные данные; используйте хеширование, когда нужно только проверить их.
Что такое коллизия хешей и почему это важно?
Коллизия возникает, когда два разных входных значения дают одинаковый хеш. В криптографических приложениях коллизии катастрофичны: злоумышленник может подменить вредоносные данные, которые дадут тот же хеш, что и легитимные. SHA-256 и SHA-512 считаются устойчивыми к коллизиям при нынешних вычислительных мощностях.