Генератор HMAC

Обчисліть HMAC із повідомлення та ключа за допомогою SHA-1, SHA-2 чи SHA-3, звірте його з очікуваним підписом і виведіть у hex або Base64 — у браузері.

Завантаження інструмента…

Генератор HMACВведіть повідомлення та секретний ключ, оберіть SHA-1, SHA-256, SHA-384, SHA-512 або варіант SHA-3 і миттєво отримайте відповідний підпис HMAC, що оновлюється наживо під час введення. Тлумачте ключ як UTF-8, шістнадцяткові дані чи Base64, виводьте результат у шістнадцятковому вигляді в нижньому або верхньому регістрі чи в Base64, і вставте очікуване значення, щоб перевірити його порівнянням за сталий час. Усе виконується локально — SHA-2 через Web Crypto API, а SHA-3 через WebAssembly у браузері — тож ваше повідомлення та ключ ніколи не залишають браузер.

Що таке Генератор HMAC?

Генератор HMAC — це безкоштовний онлайн-інструмент, який обчислює код автентифікації повідомлення на основі ключового хешу (HMAC) із будь-якого текстового повідомлення та спільного секретного ключа. Він підтримує SHA-1, SHA-256, SHA-384 і SHA-512 через Web Crypto API, а також родину SHA-3 — SHA3-224, SHA3-256, SHA3-384 і SHA3-512 — та виводить підпис у шістнадцятковому вигляді (у нижньому або верхньому регістрі) чи в Base64. Ключ можна тлумачити як текст UTF-8, шістнадцяткові дані або байти Base64, а вставивши очікуваний HMAC, перемкнутися в режим перевірки, де звіряння виконується порівнянням за сталий час для захисту від атак за часом. Розробники використовують його для підпису корисного навантаження вебхуків, створення та перевірки підписів запитів до API, генерації захищених від підробки токенів або підтвердження того, що значення збігається з підписом з іншої системи. Підпис переобчислюється наживо під час редагування будь-якого поля і працює повністю в браузері. Серед поширених запитів — "hmac sha256 generator", "hmac sha3", "hmac base64" та "hmac verify online".

Як користуватися Генератор HMAC

  1. Введіть або вставте повідомлення, яке потрібно підписати, у поле введення.
  2. Введіть спільний секретний ключ і в «Параметрах» оберіть, чи це UTF-8, шістнадцяткові дані чи Base64.
  3. Оберіть алгоритм хешування — SHA-1, SHA-256, SHA-384, SHA-512 або варіант SHA-3 — з випадного списку.
  4. Перемикайте вивід між Hex і Base64 та за потреби увімкніть шістнадцятковий у верхньому регістрі в «Параметрах».
  5. Спостерігайте, як HMAC оновлюється автоматично, і натисніть «Копіювати» — або вставте очікуваний HMAC у поле перевірки, щоб звірити збіг.

Приклади

HMAC-SHA256 у hex

Вхідні дані

повідомлення: The quick brown fox
ключ: secret
алгоритм: SHA-256
кодування: Hex

Результат

7a284e5025f32a846fa3e6957d10278eb5726dd4e0b04c8e0259defcd2cd0eb1

Той самий ввід у Base64

Вхідні дані

повідомлення: The quick brown fox
ключ: secret
алгоритм: SHA-256
кодування: Base64

Результат

eihOUCXzKoRvo+aVfRAnjrVybdTgsEyOAlne/NLNDrE=

Перевірка підпису

Вставте очікуваний HMAC у поле перевірки; коли він збігається з обчисленим підписом, інструмент повідомляє про збіг, використовуючи порівняння за сталий час. Шістнадцятковий порівнюється без урахування регістру.

Поширені запитання

Які алгоритми хешування та кодування підтримуються?
SHA-1, SHA-256, SHA-384 і SHA-512 (через Web Crypto API) та родина SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512). Підпис відображається у шістнадцятковому вигляді — у нижньому або верхньому регістрі — чи в Base64, а ключ можна тлумачити як UTF-8, шістнадцяткові дані або Base64.
Чи завантажуються кудись моє повідомлення та секретний ключ?
Ні. HMAC обчислюється на 100% на стороні клієнта: SHA-2 за допомогою Web Crypto API, а SHA-3 за допомогою WebAssembly у браузері. Ані повідомлення, ані ключ ніколи не надсилаються на сервер, тож інструмент безпечно використовувати зі справжніми ключами.
Як працює режим перевірки?
Вставте очікуване значення в поле перевірки. Інструмент порівнює його зі щойно обчисленим HMAC алгоритмом за сталий час, який ніколи не завершується передчасно, тож час порівняння не виказує, де виникла невідповідність. Шістнадцятковий порівнюється без урахування регістру.
Як обробляється секретний ключ?
За замовчуванням ключ — це текст UTF-8, але в «Параметрах» його можна перемкнути на шістнадцятковий або Base64, щоб точно декодувати двійкові ключі. Поле ключа — це поле пароля: воно маскується на екрані та виключається зі збереженого стану робочого простору, і використовується лише у вашому браузері.
Чому мій HMAC відрізняється від результату іншого інструмента?
HMAC точно залежить від байтів повідомлення, байтів ключа та обраного хешу. Кінцеві пробіли, інший алгоритм, hex замість Base64, верхній регістр замість нижнього в hex або інше кодування ключа — усе це змінює результат.

Схожі інструменти