В чём разница между MD5 и SHA-256?+−
Оба преобразуют данные в хеш фиксированной длины, но отличаются длиной результата и устойчивостью к коллизиям. MD5 создаёт 128-битный хеш и работает быстро, но считается криптографически взломанным - можно создать два разных файла с одинаковым MD5-хешем. SHA-256 создаёт 256-битный хеш и в настоящее время считается безопасным, поэтому сегодня это стандартный выбор для контрольных сумм и цифровых подписей.
Безопасно ли до сих пор использовать MD5?+−
Для проверки случайного повреждения (например, частично загруженного файла) MD5 всё ещё подходит - он быстрый, и коллизии не возникают случайно. Для всего, что связано с безопасностью, например для проверки того, что файл получен из надёжного источника или не был намеренно изменён, используйте SHA-256 или более сильный алгоритм.
Для чего используется CRC32?+−
CRC32 не является криптографическим хешем - он предназначен для обнаружения случайных ошибок, например повреждения данных при передаче файла или в ZIP-архиве, а не для защиты от намеренного изменения. Именно поэтому он быстрый и широко используется в сетях и форматах файлов.
Что такое HMAC и когда его использовать?+−
HMAC (код аутентификации сообщения на основе хеша) смешивает секретный ключ с данными перед хешированием. Имея только сообщение, нельзя подделать совпадающий HMAC без ключа — поэтому его используют для API, вебхуков и подписанных cookie. На этой странице HMAC-SHA-1/256/384/512 считается локально — секрет не покидает браузер. Обычные дайджесты (MD5, SHA-*, CRC32) ключ не используют.
Могу ли я вычислить хеш файла, не загружая его никуда?+−
Да. Переключитесь в режим «Файл», выберите или перетащите файл, и хеш будет вычислен локально с помощью Web Crypto API вашего браузера и JavaScript - сам файл никогда не покидает ваше устройство и не отправляется на сервер.
Почему этот инструмент предлагает и SHA-256, и SHA3-256?+−
SHA-256 (часть семейства SHA-2) и SHA3-256 построены на совершенно разных внутренних конструкциях - SHA-2 использует конструкцию Меркла-Дамгора, а SHA-3 - более новую губчатую конструкцию под названием Keccak, которая делает его невосприимчивым к некоторым теоретическим атакам (например, атакам расширения длины), которым подвержен SHA-2. Оба алгоритма в настоящее время считаются надёжными; SHA-3 существует в основном как резервный стандарт на случай, если в SHA-2 когда-нибудь найдут уязвимость.
Почему при сравнении хешей игнорируется регистр букв?+−
Хеш часто записывают в шестнадцатеричном виде либо заглавными, либо строчными буквами, поэтому a76c... и A76C... представляют одно и то же значение хеша. Поле сравнения в этом инструменте обрезает пробелы и приводит обе строки к нижнему регистру перед проверкой совпадения, так что хеш, вставленный из источника с другим форматированием, всё равно сработает корректно.