Utilia

Generator de hash

Generează hash-uri MD5, SHA-1, SHA-256 și SHA-512 pentru text sau fișiere de orice dimensiune și verifică sumele de control. Totul rulează în browser.

Hash
Textul este codificat în UTF-8.
Algoritmi

Cum folosești generatorul de hash

  1. La Hash, alege Text sau Fișiere.
  2. Pentru text, scrie-l sau lipește-l în Text pentru hash. Hash-urile se actualizează pe măsură ce scrii; butonul Hash le recalculează la cerere.
  3. Pentru fișiere, trage unul sau mai multe fișiere în zona de încărcare sau fă clic pe ea ca să le alegi. Pentru fișierele mari apare o bară de progres, cu butonul Anulează.
  4. Selectează Algoritmi de care ai nevoie (MD5, SHA-1, SHA-256, SHA-512) și Formatul rezultatului: hexazecimal cu litere mici, hexazecimal cu litere mari sau Base64.
  5. Pentru a verifica o descărcare, lipește suma de control publicată în Compară cu un hash așteptat (opțional). Instrumentul îți spune care algoritm corespunde sau că niciunul nu corespunde.

Ce este un hash?

O funcție de hash criptografică transformă orice date de intrare, fie un cuvânt, fie o imagine de disc de 50 GB, într-o amprentă scurtă, de dimensiune fixă. Aceleași date dau întotdeauna același hash, iar schimbarea unui singur bit din intrare schimbă complet rezultatul. Un hash nu poate fi inversat pentru a recupera datele de intrare.

Algoritm Dimensiunea rezultatului Lungime în hex Stare
MD5 128 de biți 32 de caractere Compromis: doar pentru sume de control
SHA-1 160 de biți 40 de caractere Compromis: coliziuni demonstrate în 2017
SHA-256 256 de biți 64 de caractere Sigur, standardul actual
SHA-512 512 biți 128 de caractere Sigur, adesea mai rapid pe procesoare de 64 de biți

De exemplu, hash-ul SHA-256 al lui abc este ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.

Verificarea unei descărcări

Editorii de software listează adesea o sumă de control SHA-256 lângă fișierele lor. După descărcare, deschide modul Fișiere, trage fișierul și lipește valoarea publicată în câmpul de comparare. O potrivire dovedește că fișierul nu a fost deteriorat în timpul descărcării și că este identic cu cel pe care l-a procesat editorul. Nu dovedește că editorul este de încredere. Pentru asta, suma de control trebuie să provină dintr-o sursă de încredere, precum un site HTTPS sau o versiune semnată.

Cum sunt tratate fișierele mari

Fișierele sunt citite local și nu sunt încărcate niciodată. Fișierele de până la 64 MB sunt procesate dintr-o singură trecere, cu API-ul Web Crypto integrat în browser. Fișierele mai mari sunt citite în bucăți de 4 MB și date unor funcții de hash incrementale, astfel încât memoria folosită rămâne constantă și pot fi procesate fișiere de câțiva gigaocteți. Pe un calculator obișnuit, poți aștepta câteva sute de megaocteți pe secundă pentru SHA-256.

Text, codificări și sfârșituri de linie

Un hash se calculează pe octeți, nu pe caractere. Instrumentul codifică textul în UTF-8, standardul de pe web și din majoritatea limbajelor de programare. Dacă obții alt rezultat în altă parte, caută diferențe ascunse: un rând nou la sfârșit (echo "abc" | sha256sum calculează hash-ul pentru abc\n; folosește echo -n), sfârșituri de linie Windows (\r\n) sau altă codificare, precum UTF-16.

Întrebări frecvente

Pot folosi MD5 sau SHA-1 pentru a stoca parole?

Nu, și nici SHA-256 simplu. Aceste funcții sunt proiectate să fie rapide, așa că un atacator poate testa miliarde de încercări pe secundă. Parolele au nevoie de un algoritm lent, cu salt, precum Argon2, bcrypt sau scrypt.

Mai este util MD5?

Da, pentru detectarea deteriorărilor accidentale, deduplicarea fișierelor sau potrivirea cu o listă veche de sume de control. Nu trebuie să te bazezi pe el împotriva manipulării intenționate, pentru că oricine poate crea două fișiere diferite cu același MD5.

Sunt fișierele mele încărcate?

Nu. Fișierele sunt citite și procesate de browserul tău. Nimic nu este trimis către un server, deci poți calcula hash-ul documentelor confidențiale.

De ce hash-ul meu nu corespunde cu cel din linia de comandă?

Aproape întotdeauna intrarea este diferită: un rând nou la sfârșit, spații, sfârșituri de linie sau codificarea textului. Pentru fișiere, asigură-te că descărcarea este completă. Un singur octet lipsă dă un hash complet diferit.

Care este diferența dintre rezultatul hex și cel Base64?

Sunt două moduri de a scrie aceiași octeți. Hexazecimalul este formatul obișnuit pentru sumele de control; Base64 este mai scurt și se folosește, de exemplu, în atributele Subresource Integrity (sha256-…). Câmpul de comparare le acceptă pe amândouă.