Razvoj / Potpisi
HMAC generator (SHA-256, SHA-512)
Generišite HMAC potpis za poruku i tajni ključ pomoću SHA-256, SHA-384, SHA-512 ili SHA-1, u heksadecimalnom obliku i Base64 formatu, da biste testirali potpise webhookova i API-ja.
HMAC generator (SHA-256, SHA-512): HMAC kombinuje tajni ključ sa porukom pomoću hash funkcije, tako da samo osoba koja ima ključ može da generiše isti potpis. Izračunavanje se obavlja pomoću Web Crypto API-ja vašeg pregledača, iste implementacije koju pregledač koristi za HTTPS. Prazan ključ je dozvoljen; tretira se kao ključ dužine nula bajtova, kako definiše HMAC standard. Radi 100% lokalno u vašem pregledaču, bez otpremanja datoteka na server.
- Kategorija
- Alatke za programere
- Pokretanja
- U vašem pregledaču
- Trošak
- Besplatno · bez registracije
- Dostupnost
- Spremno za upotrebu
U potpunosti radi u vašem pregledaču
——Poruka se čita kao UTF-8 tekst, tačno onako kako je uneta, uključujući razmake i prelome redova; znak za novi red na kraju menja rezultat. Veb-hukovi servisa kao što su Stripe i GitHub na ovaj način se potpisuju pomoću HMAC-SHA256.
Provera webhook zahteva
Pre parsiranja uzmite izvorno telo zahteva, izračunajte HMAC pomoću deljene tajne i uporedite ga sa zaglavljem potpisa poređenjem konstantnog vremena, kako trajanje ne bi otkrilo koliko znakova se poklopilo. Odbijte zahteve čija je vremenska oznaka starija od nekoliko minuta da biste sprečili ponovljeno slanje.
Za hash bez ključa koristite generator hash vrednosti, a za potpisane tokene JWT dekoder.
Ključevi
Ključ dužine jednake izlazu hash funkcije, odnosno 32 nasumična bajta za SHA-256, pruža punu jačinu; duži ključevi se najpre skraćuju hashiranjem. Ne čuvajte ključeve u repozitorijumima koda i zamenite ih ako procure.
Kako se koristi
- Nalepite poruku tačno onako kako je poslata, na primer neobrađeno telo webhooka.
- Unesite tajni ključ kao tekst ili heksadecimalni zapis i izaberite hash funkciju.
- Uporedite rezultat u heksadecimalnom obliku ili Base64 formatu sa primljenim potpisom.
Privatnost i ograničenja
Poruka i ključ ostaju u vašem pregledaču; ništa se ne šalje bilo gde.
Srodne alatke
Često postavljana pitanja
Zašto se moj potpis ne podudara sa potpisom webhooka?
Potpisana poruka mora da bude potpuno ista, bajt po bajt, kao neobrađeno telo: raščlanjivanje i ponovna serijalizacija JSON-a, kao i nedostajući ili dodatni novi red, menjaju poruku. Neke usluge potpisuju vremensku oznaku i telo zajedno, na primer Stripe-ov t=…,payload.
Da li je HMAC-SHA1 i dalje bezbedan?
Za HMAC se i dalje smatra bezbednim, za razliku od SHA-1 pri običnom hashiranju, ali novi sistemi treba da koriste HMAC-SHA256.
Heksadecimalni zapis ili Base64?
To su dva načina zapisivanja istih bajtova; koristite format koji prikazuje usluga. GitHub koristi heksadecimalni zapis sa prefiksom sha256=, dok mnoge druge usluge koriste Base64.
Besplatan alat · pokretanja: u vašem pregledaču · nalog nije potreban