HashBolt
Вычисляйте MD5, SHA-1, SHA-256, SHA-512, SHA-3, BLAKE3 или CRC-32 для файлов любого размера или для обычного текста и сверяйте результат с контрольной суммой, опубликованной разработчиком. Файл читается по частям прямо в браузере и никуда не загружается.
Перетащите файлы сюда
Любой тип, любой размер, сколько угодно. Ничего не читается, пока вы не нажмёте «Вычислить».
Отмечайте столько, сколько нужно: файл читается один раз, и все свёртки считаются за этот единственный проход.
Поставьте файл в очередь, отметьте нужные алгоритмы и нажмите «Вычислить».
Работают и hex, и Base64, в любом регистре. Если длина свёртки не соответствует ни одному отмеченному алгоритму, об этом скажут прямо, а не объявят несовпадением.
Как это работает
Поставьте в очередь то, что хотите проверить
Перетащите файлы, выберите целую папку, вставьте один из буфера или переключитесь на вкладку текста. Пока ничего не читается.
Выберите алгоритмы
Один или дюжину. Они делят между собой единственный проход по файлу, поэтому три свёртки стоят немногим дороже одной.
Нажмите «Вычислить»
Файл идёт по частям через воркер: полоса прогресса настоящая, а образ на 20 ГБ никогда не оказывается в оперативной памяти.
Сравните с опубликованной суммой
Вставьте хеш или целый файл SUMS. Сравнение идёт по значению, а не по тому, как оно было записано.
Читает потоком, а не целиком
Файлы читаются по частям внутри воркера: расход памяти остаётся ровным, а полоса показывает реально захешированные байты. Многогигабайтный ISO здесь — обычное дело.
Двенадцать свёрток за одно чтение
MD5, SHA-1, SHA-256/384/512, SHA3-256/512, BLAKE2b, BLAKE3, RIPEMD-160, CRC-32 и xxHash64 — все они питаются от одного и того же прохода по файлу.
Проверка, которая объясняет себя
Вставьте хеш или целый список SHA256SUMS. Сравнение идёт по значению между hex и Base64, а длина, не принадлежащая ни одному выбранному алгоритму, называется прямо, а не выдаётся за несовпадение.
Папки и пакеты
Поставьте в очередь сотню файлов, посчитайте их подряд, а затем выгрузите совместимый с coreutils файл SUMS, чтобы выложить его рядом со своей раздачей.
HMAC и любые записи
Свёртки HMAC с ключом, вывод в hex, Base64 и Base64URL, верхний регистр и отображение группами. Переключение любой из настроек перерисовывает результат мгновенно, а не перечитывает файл.
Ничего не загружается
Движок — это WebAssembly, встроенный в саму страницу. Ни CDN, ни API, ни отправки: отключите сеть после загрузки, и всё продолжит работать.
Проверьте загрузку, прежде чем ей доверять
Контрольная сумма — единственный дешёвый способ убедиться, что скачанный установщик побайтно совпадает с опубликованным, а не является обрывком передачи или подменённым зеркалом. HashBolt считает этот отпечаток локально: файлы проходят через движок WebAssembly по частям, поэтому размер перестаёт быть ограничением, и каждый отмеченный алгоритм питается от одного и того же чтения. Затем вы вставляете опубликованное значение — отдельный хеш, список SHA256SUMS, строку в стиле BSD — и получаете вердикт, в котором указано, какой именно алгоритм совпал.
Движок WebAssembly внутри воркера
Хеширование идёт вне основного потока на скомпилированном WebAssembly — на порядок быстрее рукописного JavaScript, который большинство онлайн-сервисов до сих пор использует для MD5. Поскольку файл потребляется потоком, пик памяти равен одному куску, а не всему файлу, и интерфейс остаётся отзывчивым, пока читается архив на 4 ГБ.
Что контрольная сумма доказывает, а что нет
Сверьте ISO-образ Linux или установщик с хешем на официальной странице. Убедитесь, что файл, скопированный на внешний диск, дошёл целым. Найдите два одинаковых файла под разными именами, сравнив свёртки, а не открывая их. И соберите файл SUMS для собственного релиза, чтобы другие могли сделать то же самое.
В этом инструменте нет точки загрузки на сервер, и в хешировании не участвует ни один сетевой запрос: модуль WebAssembly вшит в страницу и работает при выключенном соединении. Ваши файлы, ваш текст и любой введённый ключ HMAC остаются во вкладке и исчезают, когда вы её закрываете.
Частые вопросы
QМой файл куда-нибудь загружается?+
Нет. Движок хеширования — это WebAssembly, встроенный в страницу, и он выполняется в воркере вашего браузера. Здесь нет точки загрузки, вызовов API и обращений к CDN, поэтому инструмент продолжает работать даже с отключённой сетью.
QФайлы какого размера он потянет?+
Жёсткого потолка нет: файл потребляется потоком небольшими кусками, поэтому в памяти всегда лежит только один кусок, а образы дисков на несколько гигабайт — рутина. На практике вас ограничивает скорость чтения накопителя, и именно её показывает индикатор скорости.
QКак проверить скачанный ISO или установщик?+
Поставьте файл в очередь, отметьте алгоритм, который использовал разработчик (почти всегда SHA-256), нажмите «Вычислить» и вставьте опубликованное значение в поле проверки. Можно вставить и весь файл SHA256SUMS: строки сопоставляются с вашими файлами по имени.
QПочему рядом с MD5 стоит предупреждение?+
Потому что сегодня дёшево собрать два разных файла с одинаковой свёрткой MD5, и то же верно для SHA-1. Для выявления повреждённой передачи — а именно для этого обычно и висит контрольная сумма на странице загрузки — они по-прежнему прекрасно годятся, но против того, кто изменил файл намеренно, они не доказывают ничего.
QМой хеш не совпал с тем, что на сайте. Что делать?+
Сначала проверьте, что вы сравнивали один и тот же алгоритм: хеш из 64 символов может быть SHA-256, SHA3-256, BLAKE2b или BLAKE3, и инструмент подсказывает, какой именно совпал. Затем скачайте файл заново: настоящее расхождение чаще всего означает оборванную передачу или сбойное зеркало. Если оно сохраняется и на свежей загрузке, не запускайте этот файл.
QПочему хеш текста отличается от хеша файла с тем же текстом?+
Потому что в файле обычно есть то, чего нет в текстовом поле: завершающий перевод строки, windows-овские окончания CRLF или метка BOM в UTF-8. Инструмент хеширует ровно те байты, которые вы дали, и есть переключатель, приводящий CRLF к LF, когда нужно сойтись со значением, полученным в Linux.
QЗачем нужен HMAC?+
Обычный хеш доказывает, что содержимое не изменилось случайно, но пересчитать его может кто угодно. HMAC подмешивает в свёртку секретный ключ, поэтому получить или проверить значение способен только владелец ключа. Именно это используют подписи API и проверка вебхуков.