Žádná data se neodesílají

Generátor HMAC (výpočet HMAC-SHA256 v prohlížeči)

Nástroj pro výpočet HMAC SHA256 přímo zde. Klíče ani vstupy se neodesílají ani neukládají.

Podporuje vstupy Text/Hex/Base64 a výstupy Hex/Base64. Bezpečně počítá pomocí standardního prohlížečového rozhraní Crypto API.

Lokální výpočet Bez ukládání Podpora Hex/Base64

Vstup a výstup

Tato stránka provádí výpočty výhradně v prohlížeči a neodesílá žádná data ven.

Žádná data se neodesílají
Formát vstupu

* Důležitá je přesná 'bajtová posloupnost' dle specifikace API. Pokud je klíč binární, vložte jej jako Hex nebo Base64.

Formát vstupu
Délka výstupu: 32 bajtů (SHA-256)
Možnosti

Výsledky se změní, pokud se kódy konců řádků liší kvůli OS nebo kopírování.

Vzhledem k tomu, že API podpisy vyžadují 'přesnou shodu', doporučuje se ponechat mezery beze změny.

Použití

Základní 3 kroky pro vytvoření HMAC podpisu.

  1. 1 Zadejte klíč (vyberte Hex / Base64, pokud je klíč binární)
  2. 2 Zadejte zprávu (řetězec k podpisu / payload)
  3. 3 Zvolte formát výstupu (Hex / Base64) a zkopírujte jej

HMAC se počítá z 'bajtových posloupností', nikoli z 'textových řetězců'. I když vypadají stejně, výsledky se budou lišit, pokud je jiné kódování, konce řádků nebo mezery (předpokládá se UTF-8).

Příklady (testovací vektory pro ověření)

Kliknutím na 'Načíst ukázku' vyplníte vstupní pole.

Příklad 1
Klíč (Text/UTF-8)
secret
Zpráva (Text/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Příklad 2
Klíč (Text/UTF-8)
key
Zpráva (Text/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Časté chyby

Rozdíly v kódech konců řádků (LF/CRLF)

Výsledky se změní, pokud se liší zpracování konců řádků.

Ořezávání (odstraňování mezer)

Vzhledem k tomu, že podpisy předpokládají přesnou shodu, odstranění mezer může způsobit neshodu.

Zápis Base64URL

Base64URL obvykle používá +→-, /→_ a vynechává =. Zkontrolujte prosím své specifikace.

Zpracování klíče (Text vs Binární data)

Příklad: Zadání 'deadbeef' jako 'řetězce' vs. zadání jako 'bajtové posloupnosti 0xDE 0xAD...'.

Doplňující informace

Co je HMAC?

Mechanismus pro vytvoření podpisu pomocí tajného klíče a zprávy. Třetí strana nemůže vytvořit stejný výsledek bez znalosti klíče.

Rozdíl oproti SHA-256

SHA-256 je 'hash', HMAC je 'hash s klíčem (podpis)'.

Případy použití

Používá se pro podpisy API, ověřování Webhooků, detekci manipulace s požadavky atd.

Časté dotazy

Ukládá se klíč někam?

Neukládá. Tento nástroj počítá v prohlížeči a neodesílá klíče ani zprávy na server. (※ Z preventivních důvodů po použití na sdíleném PC vstup vymažte)

Base64 nebo Hex?

Používají se oba. Formát výstupu si můžete vybrat (Hex / Base64 / Base64URL). Zvolte prosím ten, který vyžaduje vaše API.

Kódování znaků?

Předpokládá se UTF-8. Textový vstup je pro výpočet převeden na bajty v kódování UTF-8. Pro práci s binárními daty použijte vstup Hex nebo Base64.

Rozdíl mezi HMAC a SHA-256 hashem?

SHA-256 je jen 'otisk', HMAC je 'podpis s klíčem'. Bez shody klíčů nelze vygenerovat stejný výsledek.

Výstup mi nesouhlasí

Časté příčiny jsou (1) zpracování klíče (Text vs Bajty), (2) konce řádků, (3) mezery, (4) Base64URL. Zkontrolujte prosím výše uvedené chyby v tomto pořadí.