Unesite poruku i tajni ključ, izaberite hash algoritam, i dobijte HMAC kao heksadecimalni zapis. HMAC dokazuje da poruka dolazi od nekoga ko zna ključ i da nije izmenjena — time se potpisuju API zahtevi i webhook-ovi. Poruka i ključ ostaju u vašem pregledaču i nikada se nigde ne šalju.
Unesite tajni ključ da napravite HMAC.
Računa se Web Crypto API-jem u vašem pregledaču. Poruka i ključ se nikada ne šalju.
Kako radi
HMAC kombinuje vaš ključ sa porukom kroz izabranu hash funkciju dvaput, u posebnoj unutrašnjoj/spoljašnjoj konstrukciji (definisanoj u RFC 2104). Rezultat zavisi i od poruke i od ključa: promenite bilo šta za jedan karakter i ceo zapis se menja. Svako sa istim ključem može ga ponovo izračunati radi provere, ali se bez ključa ne može falsifikovati.
Alat koristi Web Crypto API (SubtleCrypto) za samo potpisivanje, pa se oslanja na proverenu kriptografsku implementaciju pregledača umesto na ručno pisan kod. Izaberite SHA-256 osim ako sistem ne traži drugačije — to je uobičajena podrazumevana vrednost. Dužina zapisa zavisi od algoritma: SHA-256 daje 64 heks karaktera, SHA-512 daje 128.
Primeri iz prakse
Provera potpisa webhook-a
Servisi poput platnih provajdera potpisuju svaki webhook uzimajući HMAC-SHA256 tela zahteva sa vašim deljenim tajnim ključem. Nalepite telo i tajni ključ, izaberite SHA-256, i uporedite rezultat sa zaglavljem potpisa da potvrdite da je zahtev pravi.
Brz test vektor
Poruka „The quick brown fox jumps over the lazy dog” sa ključem „key” i SHA-256 daje f7bc83f4…2d1a3cd8 — poznat vektor kojim možete proveriti bilo koju HMAC implementaciju.
Potpisivanje API zahteva
Mnogi API-ji žele HMAC kanonskog stringa (metod + putanja + vreme) pod vašim API ključem. Sastavite taj string, potpišite ga ovde da vidite očekivanu vrednost, i uporedite je sa onim što vaš kod proizvodi.
Česta pitanja
Koja je razlika između HMAC-a i običnog heša?
Običan heš (poput SHA-256) zavisi samo od ulaza, pa ga svako može izračunati. HMAC dodatno umešava tajni ključ, pa ga samo neko ko zna ključ može napraviti ili proveriti. Zato je HMAC pogodan za autentifikaciju, ne samo za integritet.
Koji algoritam da koristim?
HMAC-SHA256 je razumna podrazumevana vrednost i ono što većina API-ja očekuje. Koristite SHA-384 ili SHA-512 ako specifikacija to traži. Izbegavajte HMAC-SHA1 za nove sisteme — ponuđen je radi kompatibilnosti sa starijima, jer je HMAC-SHA1 još uvek bezbedan ali se SHA-1 povlači.
Da li je HMAC šifrovanje?
Ne. HMAC je jednosmeran autentifikacioni kod — iz njega ne možete povratiti poruku. Dokazuje autentičnost i integritet, ali ne skriva poruku. Koristite šifrovanje ako vam treba poverljivost.
Zašto prazan ključ ne daje rezultat?
HMAC zahteva ključ, pa alat čeka dok ga ne unesete. U praksi uvek treba koristiti jak, tajni ključ — prazan ili lako pogodljiv ključ obesmišljava autentifikaciju.
Da li je dužina ključa važna?
Duži, nasumični ključevi su jači. HMAC prihvata ključeve bilo koje dužine (interno hešira ključeve duže od veličine bloka), ali radi bezbednosti ključ treba da bude bar dužine izlaza heša i nasumično generisan, a ne reč iz rečnika.
Da li se moj ključ ili poruka šalju serveru?
Ne. Sve se računa Web Crypto API-jem unutar vašeg pregledača. Ništa što ukucate se ne šalje, a analitika to ne dobija — što je upravo ono što želite za tajni ključ.
Zašto se moj rezultat razlikuje od drugog alata?
Obično zbog kodiranja ili skrivenih karaktera. Ovaj alat tretira poruku i ključ kao UTF-8 tekst. Ako druga strana koristi base64- ili heks-kodiran ključ, ili drugačiju konvenciju za nove redove, ulazi se razlikuju pa će i HMAC.
Šta radi prekidač za velika slova?
Menja samo kako se heks zapis prikazuje (A–F naspram a–f). Vrednost je ista u oba slučaja; neki sistemi očekuju velika heks slova, pa vam prekidač štedi ručnu konverziju.
Mogu li ovim da čuvam lozinke?
Ne. HMAC nije funkcija za heširanje lozinki. Za čuvanje lozinki koristite namenski, spor algoritam poput bcrypt, scrypt ili Argon2, koji odolevaju napadima grubom silom. HMAC služi za autentifikaciju poruka.
Srodni alati
Generator hash vrednosti
Generišite SHA-1, SHA-256, SHA-384 i SHA-512 heš vrednosti teksta u pregledaču pomoću Web Crypto API-ja.
Alati za programere
Base64 kodiranje i dekodiranje
Kodirajte tekst u Base64 ili ga dekodirajte nazad, bezbedno za UTF-8 i URL varijantu. Radi u potpunosti u pregledaču.
Alati za programere
JWT dekoder
Dekodirajte JWT da pročitate zaglavlje i sadržaj, uz istek i vreme izdavanja kao datume. Samo lokalno — bez provere potpisa.
Alati za programere
JSON formatiranje
Ulepšajte, proverite ili minifikujte JSON u pregledaču — uz jasne poruke o greškama. Ništa se ne šalje.
Alati za programere
JSON u CSV
Pretvorite JSON niz objekata u CSV, direktno u pregledaču. Izaberite razdvajač; ugneždene vrednosti ostaju kao JSON.
Alati za programere
CSV u JSON
Pretvorite CSV u JSON u pregledaču. Zaglavlje u ključeve, prilagođen razdvajač i opciono prepoznavanje brojeva.
Alati za programere