0

HMAC generátor és ellenőrző

HMAC üzenethitelesítési kódok létrehozása és ellenőrzése az SHA-256, SHA-384, SHA-512 vagy SHA-1 segítségével titkos kulccsal, teljes egészében a böngészőjében.

Buy Me a Coffee at ko-fi.com
Feldolgozás... 0%
Kulcs importálása
HMAC számítástechnika
Kész

Eredmény

A HMAC (Hash-based Message Authentication Code) egy kulcsos kriptográfiai konstrukció, amely egy titkos kulcsot egy üzenettel kombinál egy hash függvényen, például az SHA-256-on keresztül. A sima hash-től eltérően, amelyet bárki újra ki tud számítani az üzenetből, a HMAC-t csak olyan személy tudja reprodukálni, aki ugyanazzal a titkos kulccsal rendelkezik – ez teszi azt hitelesítő kódnak, nem pedig csak ellenőrző összegnek.

Ez az alapvető különbség a sima kivonatokhoz képest: saját Hash Generator eszközünk olyan kulcsolatlan kivonatokat számít ki, mint az MD5 vagy SHA-256, amelyek kiválóan alkalmasak a véletlen sérülések észlelésére, de semmit sem bizonyítanak arról, hogy ki készítette az adatokat, mivel bárki létrehozhatja ugyanazt a hash-t. A HMAC bizonyítja az integritást (az üzenet nem módosult) és a hitelességet (az aláíró tudta a megosztott titkot), ezért a HMAC az API kérés aláírása, a JWT HS256/HS384/HS512 algoritmusai és a TLS rekord hitelesítés mögötti szabványos építőelem.

A legáltalánosabb valós használati eset a webhook aláírások ellenőrzése. Az olyan szolgáltatások, mint a Stripe, a GitHub és a Shopify, minden webhook rakományt aláírnak a HMAC-SHA256 segítségével az Ön által konfigurált titok használatával, és a kapott aláírást a kérés fejlécében küldik el. A szerver várhatóan újraszámítja a HMAC-ot a nyers hasznos adaton ugyanazzal a titokkal, és összehasonlítja azt a fejléc értékével – ha egyezik, akkor tudja, hogy a kérés valóban ettől a szolgáltatástól érkezett, és az átvitel során nem manipulálták. Ennek az eszköznek az ellenőrzési módja pontosan ezt az ellenőrzést reprodukálja: illessze be a hasznos adatot, a megosztott titkot és a kapott aláírást, és azonnali egyezést vagy eltérést kap.

Minden helyileg fut a böngésző natív webes kriptográfiai API-ján (crypto.subtle.importKey és crypto.subtle.sign), így a titkos kulcs, az üzenet törzse és a kapott aláírás soha nem hagyja el a gépet – semmi sem kerül feltöltésre egyetlen szerverre sem, ami számít, mivel a HMAC-titkok pontosan olyan értékek, amelyeket soha nem szabad beilleszteni egy véletlenszerű online eszközbe, amely bejelentkezhet.