Ce este un hash? MD5, SHA-256 și atunci când aveți nevoie de HMAC
Funcțiile hash transformă orice intrare într-o amprentă digitală cu lungime fixă, dar nu toate hashurile sunt create egale. Alegerea între MD5, SHA-256 și HMAC înseamnă diferența dintre o verificare de securitate funcțională și una care eșuează în mod silențios. Acest ghid explică ce face fiecare, când să-l folosească și cum să vă verificați propriile hash-uri chiar în browser.
Ce este o funcție hash?
O funcție hash preia orice cantitate de date - text, un fișier, o parolă - și produce un șir de caractere cu lungime fixă. Aceeași intrare produce întotdeauna aceeași ieșire, ceea ce face hashurile utile pentru verificare. Schimbați chiar și un caracter în intrare, iar hash-ul se schimbă complet. Această proprietate unidirecțională (nu puteți inversa un hash pentru a recupera datele originale) este ceea ce o face utilă pentru securitate.
MD5: rapid, dar rupt
MD5 produce un hash de 128 de biți și a fost cândva standardul pentru sumele de verificare și verificarea fișierelor. Astăzi este rupt criptografic – coliziunile (două intrări diferite care produc același hash) sunt rapid de găsit. MD5 apare în continuare în sistemele moștenite și pentru sumele de verificare non-securitate, dar niciodată pentru autentificare sau parole. Utilizați Generator de hash pentru a vedea ieșirea MD5, dar atingeți SHA-256 pentru orice contează.
SHA-256: standardul actual
SHA-256 (parte a familiei SHA-2) produce un hash de 256 de biți și este alegerea modernă pentru lucrul criptografic. Este suficient de rapid pentru majoritatea aplicațiilor, rezistent la atacurile cunoscute și acceptat pe scară largă. Vei vedea SHA-256 utilizat în sistemele blockchain, amprentele certificatelor și hashingul parolelor. The Generator de hash acceptă SHA-256 ca algoritm implicit.
HMAC: când ai nevoie de un secret
O funcție hash simplă este deterministă - oricine poate verifica hash-ul. Un HMAC (Codul de autentificare a mesajelor bazat pe hash) se amestecă într-o cheie secretă, astfel încât numai cineva care cunoaște cheia poate produce hash-ul corect. Acest lucru este esențial pentru API: serverul și clientul partajează un secret, fiecare își semnează mesajele cu acesta, iar destinatarul verifică dacă semnătura se potrivește. Acest lucru dovedește că mesajul a venit de la expeditorul revendicat și nu a fost modificat. The generator HMAC vă permite să testați acest lucru cu propria cheie secretă.
Când să folosiți fiecare abordare
- Folosiți simplu
SHA-256pentru verificări de integritate a fișierelor, hashing parole (cu sare și o funcție lentă precum bcrypt) și amprentă publică. - Utilizare
HMACpentru semnarea cererilor API, verificarea webhook și orice scenariu în care ambele părți împărtășesc un secret. - Sari peste
MD5pentru orice este legat de securitate. Utilizați-l numai atunci când interacționați cu sistemele moștenite care o necesită.
Datele tale rămân pe dispozitivul tău
Atât cele Generator de hash şi generator HMAC rulați în întregime în browserul dvs. Textul dvs. nu este niciodată trimis la un server - este codificat local pe dispozitivul dvs., funcționează offline după ce pagina se încarcă și nu necesită cont sau autentificare. Aceasta înseamnă că puteți hash în siguranță informațiile sensibile, cum ar fi cheile API pentru testare, fără a le expune pe internet.
Bonus: măsoară entropia
Dacă generați secrete sau parole, aplicația Entropia Shannon calculatorul arată câtă aleatorie (și, prin urmare, securitate) este într-un șir. O entropie mai mare înseamnă mai greu de ghicit. Utilizați-l pentru a verifica dacă secretele dvs. generate sunt de fapt aleatorii înainte de a le implementa.