Generator MD5 Online - Instrument Gratuit de Criptare MD5
Generați hash-uri MD5 instant cu instrumentul nostru online gratuit. Procesarea pe partea de client asigură confidențialitatea. Perfect pentru verificarea integrității datelor și verificarea fișierelor.
Generator de Hash MD5
Documentație
Ce este un generator de hashuri MD5?
Un generator de hashuri MD5 este un instrument care transformă orice fragment de text într-un cod de lungime fixă, numit hash MD5. MD5 este abrevierea pentru Message-Digest Algorithm 5, o funcție hash publicată în 1992. Introducerea unui cuvânt, a unei propoziții sau a unui fișier întreg produce întotdeauna același rezultat de 32 de caractere, iar chiar și o modificare minoră a datelor de intrare produce un rezultat complet diferit. Acest instrument execută algoritmul direct în browser, folosind JavaScript, astfel încât textul introdus nu este trimis niciodată unui server.
Cum funcționează hashingul MD5
MD5 este o funcție unidirecțională. Primește date de intrare de orice lungime și produce un rezultat de dimensiune fixă, numit hash sau rezumat. „Unidirecțională” înseamnă că procesul nu poate fi inversat: nu există nicio metodă de a reconstrui textul original doar din hash.
Algoritmul procesează datele în următoarele etape:
- Mesajul este convertit în octeți și completat astfel încât lungimea sa să fie un multiplu de 512 de biți.
- Se adaugă un câmp de 64 de biți care înregistrează lungimea mesajului original.
- Patru numere de 32 de biți sunt inițializate cu valori de pornire fixe.
- Mesajul completat este împărțit în blocuri de 512 de biți. Fiecare bloc trece prin patru runde de câte 16 operații, rezultând 64 de operații pentru fiecare bloc. Fiecare operație combină datele blocului în cele patru numere aflate în calcul, folosind funcții pe biți, adunări și rotiri de biți.
- După procesarea fiecărui bloc, cele patru numere de 32 de biți sunt concatenate și scrise sub forma unor cifre hexazecimale.
Rezultatul are întotdeauna 128 biți și este afișat ca 32 de caractere hexazecimale (0-9 și a-f), deoarece fiecare octet al rezultatului de 128 biți este scris folosind două cifre hexazecimale.
O funcție hash este considerată sigură atunci când are trei proprietăți: aceeași intrare produce întotdeauna aceeași ieșire, este nepractic să găsești o intrare care produce un hash ales și este nepractic să găsești două intrări diferite care produc același hash. MD5 păstrează prima proprietate, însă celelalte două au fost compromise, după cum se explică mai jos.
Exemplu de hash MD5
Aplicarea hashingului cu MD5 asupra cuvântului „hello” produce:
1Input: hello
2Output: 5d41402abc4b2a76b9719d911017c592
3Aplicarea hashingului asupra unui șir gol produce, de asemenea, un rezultat fix și nenul, deoarece completarea și câmpul de lungime sunt totuși procesate de algoritm:
1Input: (empty string)
2Output: d41d8cd98f00b204e9800998ecf8427e
3Schimbarea unui singur caracter, de exemplu scrierea cu majusculă a primei litere, obținând „Hello”, produce un șir complet diferit de 32 de caractere. Acest fenomen se numește efect de avalanșă: modificări mici ale datelor de intrare provoacă modificări mari și imprevizibile ale rezultatului.
Cum se utilizează acest generator de hashuri MD5
- Introduceți sau lipiți textul în caseta de introducere.
- Hashul apare automat sub casetă și se actualizează pe măsură ce textul se modifică. Nu este necesară apăsarea unui buton separat.
- Faceți clic pe „Copy” pentru a copia hashul de 32 de caractere în clipboard.
- Sub rezultat apare o bară mică, colorată, generată dintr-o parte a hashului, ca verificare vizuală rapidă pentru a vedea dacă două hashuri diferă.
Deoarece calculul are loc în motorul JavaScript al browserului, pagina nu are nevoie de conexiune la internet după ce a fost încărcată, iar textul introdus nu este transmis nicăieri.
Utilizări frecvente ale hashurilor MD5
- Verificarea faptului că un fișier descărcat nu a fost corupt în timpul transferului, prin compararea valorii hashului său cu o valoare publicată.
- Crearea unor chei de căutare sau identificatori de cache pentru date, deoarece un hash este un înlocuitor scurt, de dimensiune fixă, pentru o valoare mai lungă.
- Detectarea fișierelor duplicate prin compararea hashurilor, nu a conținutului integral al fișierelor.
- Sistemele de control al versiunilor și sistemele de compilare folosesc hashuri pentru a detecta dacă un fișier s-a modificat.
MD5 nu este potrivit pentru stocarea parolelor, generarea semnăturilor digitale sau orice alt caz în care un atacator ar putea încerca să creeze un hash fals sau să inverseze hashul. Motivele sunt prezentate în secțiunea următoare.
Istoricul MD5
Ronald Rivest, un criptograf american, a proiectat MD5 în 1991 ca succesor al algoritmului său anterior, MD4. Internet Engineering Task Force a publicat specificația ca RFC 1321 în (3.360 cm) 1992, iar MD5 a ajuns să fie utilizat pe scară largă pentru sume de verificare și, pentru o vreme, în scopuri de securitate.
Punctele slabe ale structurii interne a MD5 au fost observate încă din 1996. În 2004, o echipă condusă de criptograful Xiaoyun Wang a demonstrat o metodă practică de creare a două intrări diferite care produc același hash MD5, defect numit coliziune. În 2008, un alt grup de cercetători a folosit un atac bazat pe coliziuni pentru a falsifica un certificat de securitate al unui site web fraudulos, pe care browserele de la acea vreme l-ar fi acceptat ca autentic. Aceste rezultate au determinat organismele de standardizare în domeniul securității să nu mai recomande MD5 pentru situațiile în care falsificarea este relevantă.
Punctele slabe de securitate ale MD5
- Rezistența la coliziuni este compromisă. Este fezabil din punct de vedere computațional să construiești două intrări diferite cu același hash MD5.
- Viteza îl face nepotrivit pentru parole. MD5 a fost conceput pentru a calcula rapid, ceea ce este util pentru sume de control, dar nefavorabil pentru stocarea parolelor, deoarece permite unui atacator să încerce miliarde de combinații pe secundă cu hardware obișnuit.
- Nu se cunoaște public niciun atac de preimagine mai rapid decât forța brută, astfel că recuperarea unei intrări exacte dintr-un hash este în continuare dificilă, însă acest lucru nu face ca MD5 să fie potrivit pentru utilizări sensibile din punct de vedere al securității.
Din cauza acestor probleme, MD5 nu este potrivit pentru stocarea parolelor, semnături digitale, certificate SSL/TLS sau orice aplicație în care cineva ar putea încerca în mod deliberat să producă un hash corespunzător.
Alternative la MD5
- SHA-256, parte a familiei SHA-2, produce un hash de 256 de biți și nu are niciun atac practic cunoscut prin coliziune.
- SHA-3, un standard mai nou, bazat pe un design intern diferit de cel al SHA-2.
- BLAKE2, o funcție hash rapidă, a cărei securitate este considerată comparabilă cu cea a SHA-3.
- Bcrypt, scrypt sau Argon2, concepute special pentru stocarea parolelor, deoarece sunt în mod deliberat lente și rezistente la încercările de ghicire accelerate de hardware.
Întrebări frecvente
Pentru ce este folosit astăzi MD5?
În principal pentru sarcini care nu țin de securitate, precum verificarea integrității fișierelor, eliminarea duplicatelor și cheile de cache. Nu mai este recomandat pentru parole, semnături sau certificate.
Poate fi inversat un hash MD5 pentru a obține textul original?
Nu. MD5 este o funcție unidirecțională, astfel că nu există niciun calcul care să transforme un hash în datele din care provine. Un atacator poate totuși ghici intrări probabile și poate calcula hashul fiecăreia pentru a verifica dacă se potrivește, motiv pentru care MD5 nu este sigur pentru parole.
De ce nu este sigur MD5 pentru stocarea parolelor?
Deoarece calculează foarte rapid, un atacator cu hardware modern poate testa un număr enorm de parole posibile pe secundă. Algoritmi concepuți special, precum bcrypt, scrypt sau Argon2, sunt în mod deliberat lenți pentru a rezista acestui tip de atac.
Cât de lung este un hash MD5?
Are întotdeauna 128 biți și este afișat ca 32 de caractere hexazecimale, indiferent de lungimea textului de intrare.
Pot două intrări diferite să producă același hash MD5?
Da. Acest fenomen se numește coliziune, iar cercetătorii au demonstrat metode practice pentru construirea unor astfel de perechi începând din 2004. Acesta este principalul motiv pentru care MD5 nu mai este considerat sigur.
Trimite acest instrument textul introdus către un server?
Nu. Hashul este calculat cu JavaScript, care rulează în browser, iar datele de intrare nu părăsesc dispozitivul.
Care este diferența dintre MD5 și SHA-256?
Ambele sunt funcții hash, însă SHA-256 produce un hash mai lung, de 256 de biți, și nu are niciun atac practic cunoscut prin coliziune, în timp ce rezistența la coliziuni a MD5 este compromisă. SHA-256 este alegerea mai bună ori de câte ori securitatea contează.
Referințe
- Rivest, R. (1992). "The MD5 Message-Digest Algorithm." RFC 1321, Internet Engineering Task Force. https://tools.ietf.org/html/rfc1321
- Turner, S., Chen, L. (2011). "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms." RFC 6151, Internet Engineering Task Force. https://tools.ietf.org/html/rfc6151
- Wang, X., Yu, H. (2005). „Cum pot fi sparte MD5 și alte funcții hash.” Advances in Cryptology - EUROCRYPT 2005.
- Sotirov, A. și colab. (2008). „MD5 Considered Harmful Today: Creating a Rogue CA Certificate.” Prezentat la cel de-al 25-lea Chaos Communication Congress.
- National Institute of Standards and Technology (2015). "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions." FIPS 202. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf