Об этом инструменте
Криптографическая хеш-функция детерминированно отображает входные данные любого размера в дайджест фиксированной длины: одни и те же байты всегда дают одинаковый хеш, тогда как изменение одного символа выливается в совершенно другой результат. Этот инструмент вычисляет пять распространённых дайджестов бок о бок — MD5 (128 бит), SHA-1 (160 бит) и семейство SHA-2: SHA-256, SHA-384 и SHA-512. Функции SHA работают через нативный браузерный Web Crypto API; MD5, который Web Crypto намеренно опускает, реализован на JavaScript в соответствии с RFC 1321.
Используйте его, чтобы проверить загрузку по опубликованной контрольной сумме, подтвердить, что два файла идентичны байт в байт, сгенерировать ключи кеша или идентификаторы с адресацией по содержимому, снять отпечаток полезной нагрузки перед сохранением или убедиться, что хеш, созданный вашим бэкендом, совпадает с тем, что видит клиент. Переключитесь в режим File, чтобы захешировать любой файл, перетащив его — байты считываются локально через ArrayBuffer и никогда не отправляются.
MD5 и SHA-1 скомпрометированы для целей безопасности — коллизии достижимы на практике — поэтому используйте их только для контрольных сумм и проверки целостности, никогда для паролей или подписей; для этого выбирайте SHA-256 или более стойкий вариант.
Часто задаваемые вопросы
В чём разница между MD5, SHA-1 и SHA-256?
Это разные алгоритмы хеширования, дающие дайджесты разной длины: MD5 — 128 бит, SHA-1 — 160 бит, а SHA-256 — 256 бит. MD5 и SHA-1 считаются криптографически скомпрометированными, поскольку коллизии можно сконструировать, тогда как SHA-256 (часть семейства SHA-2) по-прежнему считается безопасным.
Хеширование — это то же самое, что шифрование?
Нет. Хеширование — это односторонняя функция: вы не можете обратить дайджест обратно во входные данные, тогда как шифрование обратимо при наличии правильного ключа. Хеши используются для проверки целостности и снятия отпечатков, а не для сохранения конфиденциальности данных.
Отправляются ли мой текст и файлы на сервер?
Нет. Всё хеширование выполняется полностью в вашем браузере: дайджесты SHA используют нативный Web Crypto API, а MD5 работает на JavaScript, и файлы считываются локально через ArrayBuffer. Ничего никогда не отправляется по сети.