Пакетний хеш файлів — контрольні суми багатьох файлів одночасно, перевіряються за маніфестом
Пакетний хеш файлів і перевірка маніфесту
Виберіть або перетягніть багато файлів одразу, і ця сторінка обчислить дайджест MD5, SHA-1, SHA-256, SHA-384 або SHA-512 для кожного з них цілком у вашому браузері. Потім скопіюйте результати як рядки, сумісні з sha256sum, для власних приміток до релізу, або вставте маніфест контрольних сум (SHA256SUMS, .sha256, .sfv, вивід BSD openssl dgst) — і сторінка скаже, які файли пройшли перевірку, які не збіглися і яких бракує. Нічого нікуди не завантажується. Для одного файлу з більшою кількістю алгоритмів див. Генератор гешів.
1. Виберіть файли
Перетягніть файли сюди або натисніть, щоб вибрати їх До 50 файлів, по 200 МБ кожен. Файли залишаються на цьому комп'ютері.
Файли не вибрано.
2. Алгоритми
— вивід у hex; оберіть принаймні один.
3. Результати
Натисніть на будь-яку клітинку дайджесту, щоб його скопіювати. Назви й розміри завжди перелічено, тож таблиця також є переглядом розмірів файлів пакету.
Таблиця дайджестів з'явиться тут, коли ви оберете файли й натиснете «Обчислити».
4. Перевірка за маніфестом (необов'язково)
Вставте маніфест у стилі GNU (хеш назва), BSD (SHA256 (назва) = хеш), SFV (назва crc32) або простому (sha256=хеш), або завантажте сам файл .sha256 / SHA256SUMS / .sfv. Рядки, що починаються з ;, вважаються коментарями.
Конфіденційність: кожен дайджест обчислюється вбудованим JavaScript і рушієм WebCrypto браузера — файли ніколи не покидають цю вкладку. Порада: після перевірки завантаження можна безпечно закрити цю сторінку; нічого не зберігалося.
Що таке пакетне хешування файлів?
Контрольна сума — це коротке відбиток файлу: якщо пропустити байти файлу через хеш-функцію, отримаєте дайджест, який майже напевно зміниться, навіть якщо змінився лише один байт файлу. Розповсюджувачі програмного забезпечення публікують такі дайджести поруч із завантаженнями, щоб ви могли переконатися, що отриманий файл — той, який вони надіслали: завантаження не обрізалося чи не пошкодилося, і ніхто не підмінив вміст.
Перевіряти один файл за раз — нормально для одного завантаження. Щойно є тека з файлами або архів релізу з маніфестом SHA256SUMS всередині, потрібна пакетна версія: захешувати кожен файл один раз, потім перевірити кожен рядок маніфесту з відповідним файлом. Саме цей цикл автоматизує ця сторінка.
Формати маніфестів, які читає ця сторінка
Стиль
Приклад рядка
Де ви його зустрічаєте
GNU
900150983c... hello.txt
Вивід sha256sum / md5sum, файли SHA256SUMS у релізах Linux
BSD
SHA256 (hello.txt) = 900150983c...
openssl dgst -sha256 на macOS/BSD
SFV
hello.txt 1A2B3C4D
Файли Simple File Verification, старі бінарні новинні групи
простий
sha256=ba7816bf...
Сторінки завантажень, примітки до релізів, Docker checksums
Довжина самого хешу визначає алгоритм: 32 шістнадцяткові символи означають MD5, 40 — SHA-1, 64 — SHA-256, 96 — SHA-384, а 128 — SHA-512. Тож рядкам у форматі GNU не потрібно казати, яка програма їх створила.
Як це працює, коротко
Кожен файл один раз читається за допомогою FileReader браузера і передається в crypto.subtle.digest (сімейство SHA) і локальну реалізацію MD5. Дайджести кодуються в hex і вирівнюються поруч із записами маніфесту; файл перевіряється лише тоді, коли обчислений дайджест збігається з очікуваним символ у символ. Рядки SFV містять CRC-32, а не криптографічний хеш — сторінка позначає їх як непідтримувані, а не вдає, що CRC — це дайджест.
Типові помилки
“Усі мої файли пишуть про невідповідність.” — звична причина в тому, що маніфест створено для іншої версії завантаження. Спершу перевірте назви файлів: порівняння йде за базовими назвами, тож dist/app-1.2.bin відповідає рядку маніфесту для app-1.2.bin. “SHA-1 перевірено, тож файл безпечний?” — ні. Перевірка доводить, що байти збігаються з тим, що опублікував розробник; чи довіряти розробнику — інше питання. А SHA-1 має відомі колізії з 2017 року, тож якщо є вибір, віддавайте перевагу маніфестам SHA-256.
Часті запитання (FAQ)
Чи повільне хешування великого файлу? — приблизно секунда на 200 МБ на звичайному комп'ютері; рядок прогресу показує, наскільки далеко просунулася пакетна обробка. Чи можна перевірити маніфест SFV з CRC-32? — рядки SFV розбираються і перелічуються, але CRC-32 ця сторінка не обчислює; для окремих файлів скористайтеся інструментом CRC на хабі криптографії. Чому лише hex? — маніфести в реальному світі використовують hex; дайджести в base64 — окрема можливість. Що відбувається з моїми файлами? — нічого: без сервера, без зберігання, без аналітики; закрийте вкладку — і кожен байт вхідних даних зникає.