Перейти до вмісту
TextArray
100% локально

Генератор HMAC

Обчислюйте підписи HMAC-SHA256, SHA-1, SHA-384 або SHA-512 за допомогою секретного ключа.

Введення
Вихід

Генератор HMAC

HMAC — це хеш із ключем: повідомлення та секретний ключ входять разом, і лише хтось із тим самим ключем може відтворити або перевірити результат. Це те, що використовують постачальники API для підписання запитів, а відправники вебхуку, як-от платіжні платформи та служби розміщення коду, додають до кожної доставки, щоб одержувач міг довести, що корисне навантаження справді надійшло від них і не було змінено під час передачі.

Введіть секретний ключ, виберіть алгоритм, який використовує інша сторона — SHA-256 є переважним типовим — і вставте повідомлення. Дайджест виглядає як шістнадцятковий нижній регістр або як Base64, що відповідає двом форматам, у яких обмінюються підписи. Увімкніть HMAC для кожного рядка, щоб підписувати кожен рядок введення окремо, що відповідає стовпцю маркерів або ідентифікаторів. Розробники прагнуть до цього під час налагодження обробника вебхука, який відхиляє підписи, відтворюючи приклад документації або генеруючи тестовий вектор для модульного тесту.

І ключ, і повідомлення приймаються як байти UTF-8, як і більшість серверних SDK. Коли ваш результат не збігається з іншою стороною, причиною майже завжди є байти, а не математика: кінцевий символ нового рядка в корисному навантаженні, закінчення рядків CRLF, порівняння шістнадцяткового виводу з Base64 або ключ, який служба надає в кодуванні Base64 або шістнадцятковому кодуванні та очікує декодування перед використанням.

Ключове поле маскується й навмисно ніколи не записується в пам’ять вашого браузера. Усе працює локально через вбудований у браузер WebCrypto — вставлення секрету підпису в онлайн-інструмент HMAC зазвичай передає його на цей сервер, і тут він ніколи не залишає ваш пристрій.

FAQ

Для чого використовується HMAC?
Підтвердження того, що повідомлення надійшло від когось, хто володіє спільним секретом і не було змінено по дорозі. Типове використання: підписання запитів API, перевірка доставки вебхуків із платіжних і хостингових платформ і підписування токенів. Одержувач повторно обчислює HMAC з тим самим ключем і порівнює.
Чим HMAC відрізняється від простого хешу?
Звичайний SHA-256 повідомлення може бути обчислений будь-ким, тому він нічого не доводить про відправника. HMAC додає секретний ключ у обчислення таким чином, щоб захистити його від підробки — без ключа ви не зможете ні підробити дійсний підпис, ні перевірити його. Ось чому HMAC-SHA1 залишається прийнятним на практиці, навіть незважаючи на те, що звичайний SHA-1 порушується через колізії, хоча нові проекти все одно повинні вибирати SHA-256.
Чому мій HMAC не відповідає тому, який надсилає сервер?
Майже завжди байти відрізняються. Перевірте наявність кінцевого нового рядка в корисному навантаженні, закінчення рядків CRLF проти LF, шістнадцятковий порівняння з Base64 і формат ключа — багато служб надають вам секретне кодування Base64 або шістнадцяткове та очікують, що декодовані байти будуть ключем. Цей інструмент використовує ключ точно так, як він введений, як UTF-8.
Чи може хтось відновити мій ключ із HMAC?
Жодна практична атака не відновить ключ із дайджестів. Але будь-хто, хто має ключ, може підписувати довільні повідомлення, тому ставтеся до секретів підпису як до паролів: ротуйте секрет вебхуку, якщо він міг витік, і ніколи не надсилайте його до сховища.
Чи завантажено кудись мій ключ і текст?
Ні. HMAC обчислюється вбудованою у ваш браузер WebCrypto, поле ключа ніколи не записується в пам’ять, і ні ключ, ні текст ніколи не залишають ваш пристрій.