Encoders & Utilities

Hash Generator

Обчислює MD5, SHA-1, SHA-256, SHA-384, SHA-512 і HMAC для тексту чи файлів. Локальне хешування до 100 МБ.

Algorithms

Про цей інструмент

Hash Generator рахує криптографічні хеші для тексту або файлів повністю у вашому браузері. Підтримувані алгоритми покривають повну SHA-2-родину (SHA-256, SHA-384, SHA-512) через Web Crypto API, плюс історичні MD5 і SHA-1 через малу JS-імплементацію (тримаються для верифікації legacy outputs). HMAC-варіанти доступні для всіх SHA-2-алгоритмів — вставте ключ і повідомлення, отримайте keyed-hash output, готовий для signature-verification.

Для файлів (drag-and-drop) файл стримиться через hash-функцію chunks — тож можна захешити 100 MB ISO за кілька секунд без надсилання кудись. Output може показуватись lowercase або uppercase hex, або як Base64 (корисно для HTTP-автентифікації і JWT-підписів). Кілька алгоритмів можна обрати одразу; файл стримиться один раз, а хеші рахуються паралельно.

Коли використовувати цей інструмент

  • Верифікація завантажень. Порівняйте SHA-256 файла проти опублікованого проектом checksum, щоб виявити tampering або корупцію.
  • Генерація integrity-hash. Pre-compute SHA-256 для асета перед додаванням атрибута integrity="sha256-..." на тег <script>.
  • Підпис API-запитів. Рахуйте HMAC-SHA-256 для AWS-style request signing без написання скрипта.
  • Швидка дедуплікація. SHA-1 fingerprint на файл — досить для «чи ці два файли ідентичні?»-перевірок.

Коли НЕ використовувати MD5 або SHA-1

Обидва криптографічно зламані. MD5-колізії демонструються з 2008; SHA-1 — з 2017 (SHAttered-атака). Використовуйте лише для legacy-верифікації — ніколи для нових підписів, password-hashing або anti-tampering. Для паролів зокрема використовуйте bcrypt, scrypt або Argon2 замість будь-якого plain-hash; вони свідомо повільні і memory-hard, щоб подолати brute-force-атаки.

Часті запитання

Чи варто використовувати MD5 для зберігання паролів?

Абсолютно ні. Plain hashes (MD5, SHA-1, навіть SHA-256) дизайновані бути швидкими, що протилежне до того, що треба для паролів — швидкі значить, що атакувальники їх brute-force-нуть. Використовуйте свідомо повільну, memory-hard функцію на кшталт bcrypt, scrypt або Argon2id. Більшість сучасних фреймворків бандлять одну як default password hasher.

Чи browser-hashing настільки ж точний, як command-line інструменти?

Так — для SHA-256 і SHA-2-родини output bit-for-bit ідентичний sha256sum на Linux або shasum -a 256 на macOS, бо обидва кличуть той самий fundamental-алгоритм. Наші MD5- і SHA-1-імплементації теж широко тестовані. Єдина різниця vs CLI — продуктивність: native-код швидший на величезних файлах, але браузер обробляє 100 MB комфортно.

Що таке HMAC?

Keyed-hash — комбінує секретний ключ з input, щоб output не міг бути сфальсифікований ніким, хто не знає ключа. Використовується для API request signing (AWS Signature V4 — це HMAC-SHA-256), JWT-підписів з алгоритмом HS256 і webhook-валідації. Той самий алгоритм з різними ключами продукує неспоріднені outputs, що і робить його підписом, а не fingerprint.

Чому мій хеш відрізняється від іншого інструмента?

Зазвичай через line endings або кодування. hello з trailing newline хешиться інакше за hello без. UTF-8 vs UTF-16-encoded текст відрізняється. CRLF vs LF line endings відрізняються. Переконайтесь, що обидва інструменти читають точно ті самі байти — найпростіша перевірка: захешити файл (не рядок) і підтвердити, що обидва інструменти згодні на byte-sequence.