Generator de hash

Introduceți textul mai jos pentru a genera dintr-o dată amprente SHA-1, SHA-256, SHA-384 și SHA-512, sau furnizați o cheie pentru a-l semna cu HMAC. Folosește API-ul Web Crypto. Toată procesarea are loc local în browserul dvs.

Despre funcțiile hash

O funcție hash criptografică primește o intrare și produce un șir de octeți de dimensiune fixă. Ieșirea (hash-ul) este unică pentru intrare — chiar și o modificare minoră produce un hash complet diferit.

  • SHA-1 — 160-bit, depreciat pentru utilizare în securitate. Încă folosit în Git.
  • SHA-256 — 256-bit, parte a familiei SHA-2. Recomandat pentru utilizare generală.
  • SHA-384 — 384-bit, parte a familiei SHA-2. Variantă trunchiată a SHA-512.
  • SHA-512 — 512-bit, parte a familiei SHA-2. Cel mai puternic hash standard.

Fiecare amprentă de pe această pagină vine din Web Crypto API a browserului, inclusiv semnăturile HMAC. Nimic nu este implementat de mână și nimic nu este încărcat.

Două setări schimbă rezultatul mai mult decât se așteaptă lumea. Setul de caractere hotărăște ce octeți sunt prelucrați, deci aceeași frază dă amprente diferite în UTF-8 și în Windows-1252. Setarea sfârșitului de rând contează pentru tot ce a ieșit dintr-un fișier, fiindcă o amprentă luată peste CRLF nu va corespunde niciodată uneia luate peste LF. Lipiți o sumă de control în câmpul de comparație și pagina vă spune din care dintre cele patru provine, cel mai rapid mod de a identifica o amprentă fără etichetă.

Cum stocați asta, de fapt?

Amprentele, jetoanele și parolele sunt puternice doar cât codul din jurul lor: un factor de cost lăsat implicit, un jeton căruia nimeni nu îi verifică expirarea, un secret ajuns în depozit. Auditați și întărim aplicații și vă spunem la ce ajunge întâi un atacator.

Programați o revizie de securitate

Întrebări frecvente

De ce obțin altă amprentă decât în alt instrument?
Aproape întotdeauna fiindcă diferă octeții, nu algoritmul. Un rând nou la final, CRLF în loc de LF sau text codificat în Windows-1252 în loc de UTF-8 schimbă intrarea și deci amprenta. Setările de set de caractere și de sfârșit de rând de pe această pagină există tocmai ca să facă acele diferențe explicite.
Unde a dispărut MD5?
A fost eliminat. MD5 are atacuri de coliziune practice, deci nu dovedește nimic despre un fișier de care s-ar fi putut atinge un atacator, iar interfața criptografică a browserului nu îl oferă, ceea ce însemna să căram în pagină o implementare scrisă de mână. SHA-256 este valoarea implicită rezonabilă pentru orice lucru nou.
Ce este HMAC și când îmi trebuie?
HMAC amestecă un secret partajat în amprentă, așa că doar cine deține cheia o poate produce sau verifica. Folosiți-l pentru semnăturile de webhook și pentru semnarea cererilor de API, unde o amprentă simplă nu dovedește nimic fiindcă oricine o poate calcula peste același corp.
Pe care ar trebui să îl folosesc de fapt?
SHA-256, dacă nu aveți un motiv contrar. SHA-512 nu este semnificativ mai puternic pentru majoritatea scopurilor și este mai rapid pe hardware pe 64 de biți, deci este și el o valoare implicită rezonabilă. SHA-1 este aici fiindcă foarte multe programe existente încă îl produc, nu ca recomandare: are atacuri de coliziune practice și nu ar trebui să păzească nimic.
Ajunge textul meu la serverul vostru?
Nu. Fiecare amprentă se calculează în browserul dumneavoastră, patru dintre ele prin propria interfață criptografică a acestuia. Nimic din ce tastați nu este încărcat, ceea ce face sigură amprentarea unui jeton, a unui fișier de configurare sau a oricărui lucru pe care nu l-ați lipi într-un serviciu la distanță.