Генератар на HMAC (Изчисляване на HMAC-SHA256)
Инструмент за генериране на HMAC SHA256 директно тук. Ключовете и данните не се изпращат и не се съхраняват.
Поддържа Text/Hex/Base64 входове и изходи. Сигурно изчисляване чрез стандартния Crypto API на браузъра.
Вход и Изход
Тази страница извършва изчисленията изцяло в браузъра и не предава данни.
* Последователността от байтове е важна. Ако ключът е бинарен, въведете го в Hex или Base64.
Опции
Резултатът ще се промени, ако кодовете за нов ред се различават (Windows vs Unix).
Тъй като подписите изискват точно съвпадение, запазването им е препоръчително.
Употреба
3 лесни стъпки за създаване на HMAC подпис.
- 1 Въведете Ключ (изберете Hex/Base64 за бинарни ключове)
- 2 Въведете Съобщение (String to sign)
- 3 Изберете изходен формат и копирайте
HMAC се изчислява върху байтови последователности. Дори да изглеждат еднакви, резултатите ще са различни при различна кодировка или нови редове.
Примери (Тестови вектори)
Кликнете 'Зареди пример', за да попълните полетата.
Чести грешки
Резултатът зависи от това как се третират новите редове.
Премахването на интервали може да доведе до несъответствие при проверка на подписи.
Обикновено използва - вместо + и _ вместо /, без знака =.
Въвеждането на 'deadbeef' като текст е различно от въвеждането му като байтове 0xDE 0xAD...
Допълнителна информация
Механизъм за създаване на подпис от таен ключ и съобщение. Никой не може да създаде същия резултат без ключа.
SHA-256 е 'хеш', а HMAC е 'хеш с ключ' (подпис).
Used for API signatures, Webhook verification, request tampering detection, etc.
ЧЗВ
Съхранява ли се ключът?
Не. Инструментът работи в браузъра и не изпраща данни към сървър.
Base64 или Hex?
И двата се използват. Изберете според изискванията на вашето API.
Кодировка на символите?
Предполага се UTF-8. Текстовият вход се превръща в байтове чрез UTF-8.
Difference between HMAC and SHA-256 hash?
SHA-256 is a 'hash', HMAC is a 'keyed hash (signature)'. The same result cannot be produced unless the keys match.
The output doesn't match
Common causes are (1) Key handling (Text vs Binary), (2) Newlines, (3) Whitespace, (4) Base64URL. Please check the pitfalls above in order.