Generator HMAC-SHA1
Calculați o etichetă HMAC-SHA1 pe baza unui mesaj și a unei chei secrete. Instrumentul le codifică pe ambele în UTF-8, aplică construcția HMAC din RFC 2104 cu SHA-1 și returnează rezultatul de 160 biți sub forma a 40 de caractere hexazecimale sau în Base64. Este util dezvoltatorilor care lucrează cu semnături OAuth 1.0a, componente interne TOTP, webhook-uri mai vechi și API-uri vechi care încă semnează cu HMAC-SHA1. Cheia rămâne în solicitare.
Întrebări frecvente
Ce este HMAC-SHA1?
HMAC-SHA1 este un cod de autentificare a mesajelor care combină SHA-1 cu o cheie secretă, conform RFC 2104. Eticheta are 20 de octeți și este afișată ca 40 de caractere hexazecimale sau 28 de caractere Base64.
HMAC-SHA1 mai este sigur, deși SHA-1 este compromis?
Coliziunile SHA-1 nu compromit HMAC-SHA1, deoarece securitatea HMAC depinde de alte proprietăți ale funcției hash. HMAC-SHA1 este încă considerat acceptabil pentru sistemele existente. Pentru proiecte noi, preferați HMAC-SHA256.
Care este un vector de test cunoscut pentru HMAC-SHA1?
Cazul de test 2 din RFC 2202 folosește cheia Jefe și mesajul what do ya want for nothing? și așteaptă valoarea effcdf6ae5eb2fa2d27416d5f184df9c259a7c79. Acest instrument returnează acea etichetă.
Cum construiesc o semnătură OAuth 1.0a?
Folosiți șirul de bază al semnăturii ca mesaj, iar secretul consumatorului și secretul tokenului, unite printr-un ampersand, ca cheie. Selectați rezultatul Base64, apoi codificați rezultatul cu procente pentru antetul Authorization.
TOTP folosește HMAC-SHA1?
Da. Majoritatea aplicațiilor de autentificare calculează HMAC-SHA1 pentru un contor de timp de 8 octeți, folosind un secret decodat din Base32. Deoarece cheia și contorul sunt date binare, acest instrument bazat pe text nu poate reproduce direct un cod TOTP.
Cum sunt codificate cheia și mesajul?
Ambele sunt convertite în octeți UTF-8 exact așa cum au fost introduse. Spațiile albe ascunse, un alt tip de terminator de linie sau o cheie care trebuie decodată din hex ori Base64 sunt cauzele obișnuite ale unei nepotriviri.
Cheia mea este trimisă înapoi în rezultat?
Nu. Răspunsul conține doar eticheta și opțiunile care nu sunt secrete. Cheia nu este înregistrată în jurnal și nici stocată.
Ce format de rezultat ar trebui să selectez?
Folosiți hex dacă cealaltă parte afișează un șir cu 40 de caractere minuscule și Base64 dacă afișează 28 de caractere care se termină în =. Ambele reprezintă aceiași 20 de octeți.
Pot folosi o cheie goală?
Da, HMAC acceptă o cheie goală, iar instrumentul o calculează. O cheie goală nu oferă protecție, așa că folosiți-o doar pentru comparații cu vectori de test sau cu alte instrumente.
Cât de lung poate fi mesajul?
Mesajul și cheia pot avea împreună până la 5 MiB de text per solicitare. Eticheta se calculează imediat, iar niciuna dintre intrări nu este stocată.