Калькулятор контрольной суммы файла SHA-1

Вычисляйте контрольную сумму SHA-1 любого файла локально, в том числе большого, и сравнивайте её с опубликованным хешем, чтобы проверить загрузку. Бесплатно и приватно.

SHA-1 криптографически взломан (коллизии можно подобрать). Используйте его только для контрольных сумм или совместимости со старыми системами, но не для защиты.

Файл ещё не выбран. Контрольная сумма появится сразу после выбора файла.

Файл читается частями прямо в браузере и никуда не загружается.

Что такое Контрольная сумма файла SHA-1?

Инструмент вычисляет контрольную сумму SHA-1 (160-битный дайджест) выбранного файла и сравнивает её с ожидаемым значением. Файл читается блоками по 4 МБ прямо в браузере, поэтому большие файлы работают, а загрузки на сервер не происходит.

Как пользоваться Контрольная сумма файла SHA-1

  1. Нажмите на область загрузки или перетащите на неё файл; файл читается блоками, отображается индикатор прогресса.
  2. Проверьте Имя файла и Размер файла ниже, чтобы убедиться, что выбран нужный файл.
  3. Вставьте контрольную сумму, опубликованную поставщиком, в Ожидаемая контрольная сумма — вы получите Совпадает или Не совпадает (регистр, 0x и имя файла в конце строки игнорируются).
  4. Выберите Формат вывода, если нужен hex прописными или Base64, и нажмите Копировать.

Пример

Ввод
A file named hash-abc.txt containing the 3 bytes "abc" (no newline)
Вывод
a9993e364706816aba3e25717850c26c9cd0d89d

Если вставить это значение (в любом регистре) в поле ожидаемой контрольной суммы, будет показано «Совпадает».

Когда использовать Контрольная сумма файла SHA-1

Используйте его, чтобы убедиться в целостности загрузки, резервной копии или скопированного файла, когда издатель указывает контрольную сумму SHA-1, или чтобы записать контрольную сумму перед передачей файла. Совпадение SHA-1 доказывает, что файл не был случайно повреждён, но поскольку SHA-1 взломан, оно не доказывает, что файл никто не подменял — если предлагается контрольная сумма SHA-256 или подпись, выбирайте их. Чтобы хешировать короткую строку, а не файл, используйте текстовый генератор хеша SHA-1.

Как работает Контрольная сумма файла SHA-1

Файл нарезается на куски по 4 МБ с помощью File API, и каждый кусок подаётся в инкрементный хешер SHA-1, поэтому расход памяти остаётся небольшим и можно показывать индикатор прогресса. SHA-1 дополняет сообщение до длины, кратной 512 битам, единичным битом, нулями и 64-битной длиной в порядке big-endian. Каждый блок расширяется до 80 слов (с циклическим сдвигом на 1 бит) и за 80 шагов смешивается в пять 32-битных слов состояния с помощью сдвигов, сложений и функций Ch, Parity и Maj. Пять слов в порядке big-endian образуют 160-битный дайджест (40 hex-символов). Сравнение с ожидаемой контрольной суммой выполняется по байтам дайджеста, поэтому принимаются и hex в любом регистре, и Base64.

Распространенные Случаи Использования

  • Проверить ISO, установщик или образ прошивки по контрольной сумме со страницы загрузки
  • Убедиться, что файл, скопированный на USB-накопитель, NAS или в облако, идентичен побитово
  • Записать контрольные суммы SHA-1 артефактов релиза перед публикацией
  • Выяснить, совпадает ли содержимое двух файлов с разными именами
  • Сверить файлы со старыми списками SHA-1 из устаревших архивов

Примечание по Безопасности

SHA-1 взломан в части стойкости к коллизиям. Атаки SHAttered (2017) и Shambles (2020) дали реальные PDF-файлы с коллизиями и коллизии с выбранным префиксом. Браузеры и центры сертификации больше не принимают сертификаты SHA-1. Используйте его только для обратной совместимости (например, идентификаторы объектов Git, старые контрольные суммы); для всего, что связано с безопасностью, выбирайте SHA-256 или SHA-3. Контрольная сумма подтверждает целостность, только если ожидаемое значение получено по доверенному каналу: злоумышленник, способный подменить файл, обычно может подменить и контрольную сумму рядом с ним. Файл не покидает ваш браузер.

Часто Задаваемые Вопросы

Мой файл загружается на сервер?

Нет. Файл читается через браузерный File API и хешируется на вашем устройстве средствами JavaScript/WebAssembly. После загрузки страницы можно отключиться от интернета — всё продолжит работать.

Файл какого размера можно проверить?

Файл обрабатывается блоками по 4 МБ, поэтому ограничение — в основном время, а не память. Файлы в несколько гигабайт работают; скорость зависит от устройства.

Мой SHA-1 не совпадает с опубликованным. Что делать?

Сначала убедитесь, что сравниваете один и тот же алгоритм и один и тот же файл (а не недокачанный). Если значения всё равно различаются, скачайте файл заново из официального источника; устойчивое несовпадение означает, что файл повреждён или это не тот файл, который выпустил издатель.

Что можно вставить в поле ожидаемой контрольной суммы?

Hex-значение в верхнем или нижнем регистре с 0x или без, форму Base64 либо целую строку из файла контрольных сумм вида <hash> filename — сравнивается только первое слово.

Другие категории