HMAC генератор (HMAC-SHA256 в браузъра)
Страница за HMAC SHA256 без мрежова връзка за бързо изчисляване на HMAC и проверка на подписи.
Всичко се изпълнява локално във вашия браузър. Ключовете и съобщенията никога не се предават и не се запазват.
Как се използва (създаване на HMAC подпис)
- Въведете ключа. Ако API спецификацията дава двоичните байтове на ключа, изберете формат Hex или Base64 за вход.
- Въведете payload съобщението за подписване.
- Изберете изходен формат (Hex / Base64 / Base64URL) и копирайте резултата.
Примери (test vectors)
Пример 1 (кратка проверка)
Вход: Ключ = secret (UTF-8), Съобщение = message (UTF-8)
HMAC-SHA256 (Hex):8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64):i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Пример 2 (често срещана фраза)
Вход: Ключ = key, Съобщение = The quick brown fox jumps over the lazy dog
Hex:f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Base64:97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
Чести клопки
- Разликите между LF и CRLF нови редове дават различни подписи.
- Подрязването на водещи/крайни интервали може да развали съвпадението на API подписа.
- Base64URL често означава + към -, / към _ и пропуснато = запълване. Проверете API спецификацията си.
- Ако ключът е даден като Hex/Base64 байтове, третирането му като обикновен текст води до несъответствия.
Често задавани въпроси
Съхранява ли се ключът ми?
Не. Този инструмент изчислява във вашия браузър и не изпраща входните ключове/съобщения към сървър.
Base64 или Hex?
И двата варианта са често срещани. Можете да изберете изход Hex / Base64 / Base64URL според API спецификацията си.
Какво кодиране на знаци се използва (UTF-8)?
Текстовият вход се кодира като UTF-8 преди HMAC изчислението. За двоични стойности използвайте Hex/Base64 вход.
Каква е разликата между HMAC и SHA-256 hash?
SHA-256 е обикновен hash. HMAC добавя секретен ключ за удостоверяване на съобщението.
Резултатът ми не съвпада. Какво да проверя?
Проверете тълкуването на ключа (текст срещу байтове), обработката на нови редове, подрязването на интервали и правилата за Base64URL.
Допълнение
Какво е HMAC?
HMAC е код за удостоверяване на съобщение чрез keyed-hash, който използва секретен ключ и hash функция.
Разлика спрямо SHA-256
Самостоятелният SHA-256 няма секретен ключ. HMAC-SHA256 изисква споделен ключ и се използва за подписи.
Типични случаи на употреба
Подписване на API заявки, проверка на webhook-и и проверки за целостта на token-и.