Kaj je to orodje?
MD5 je zgoščevalna funkcija, ki katerikoli vnos spremeni v fiksen 32-znakovni šestnajstiški prstni odtis. Enak vnos vedno ustvari enak hash, tudi sprememba enega znaka pa ustvari popolnoma drugačen rezultat. Zato so hashi uporabni za kontrolne vsote, ključe predpomnilnika, odstranjevanje podvojenih vnosov in preverjanje celovitosti podatkov.
Varnostno opozorilo: MD5 je kriptografsko zlomljen — kolizije je mogoče namerno ustvariti — zato ga ne smeš uporabljati za gesla ali podpise. Za to uporabi SHA-256 (na voljo tudi spodaj) ali namensko zgoščevanje gesel, kot je bcrypt. MD5 ostaja primeren za nevarnostne namene, kot so kontrolne vsote in ključi predpomnilnika.
MD5 sega v leto 1992, ko ga je Ron Rivest objavil kot RFC 1321 — kar je del razloga, zakaj ga toliko starejših sistemov še vedno pričakuje kljub znanim šibkim točkam.
Zakaj ga uporabiti?
- Ustvari kontrolne vsote za preverjanje, da datoteka ali niz nista bila po nesreči spremenjena.
- Ustvari deterministične ključe predpomnilnika in ID-je za odstranjevanje podvojenih vnosov.
- Primerjaj z znanim MD5, da preveriš celovitost podatkov.
- Poleg tega dobi še SHA-1 in SHA-256 — brez potrebe po drugem orodju.
- 100 % lokalno: tvoj vnos nikoli ne zapusti brskalnika.
Kako ga uporabljati
- Vnesi ali prilepi besedilo v vnosno polje.
- Klikni "Generate Hash".
- Preberi rezultate MD5, SHA-1 in SHA-256 (obkljukaj "Uppercase", če tvoj sistem pričakuje velike črke).
- Klikni "Copy" ob hashu, ki ga potrebuješ.
Primer
Vnos
helloRezultat
MD5: 5d41402abc4b2a76b9719d911017c592
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824Hashi so deterministicni: "hello" ustvari te natančne vrednosti v vsakem orodju, vsakič znova.
Kateri hash naj uporabiš?
Vsi trije so enosmerni hashi, a niso zamenljivi — pravilna izbira je v celoti odvisna od tega, ali potrebuješ varnost ali le prstni odtis.
| Algoritem | Velikost izpisa | Uporabi ga za | Ne uporabljaj ga za |
|---|---|---|---|
| MD5 | 128-bit (32 šestn. znakov) | Kontrolne vsote, ključe predpomnilnika, odstranjevanje podvojenih vnosov, zaznavanje naključnih sprememb datotek | Gesla, digitalne podpise, karkoli varnostno občutljivega — kolizije je mogoče namerno ustvariti |
| SHA-1 | 160-bit (40 šestn. znakov) | Združljivost s starejšimi sistemi (npr. stari zgoščeni podatki Git commitov) | Nove varnostno občutljive zasnove — praktični napadi s kolizijami obstajajo od leta 2017 |
| SHA-256 | 256-bit (64 šestn. znakov) | Digitalne podpise, TLS certifikate, blockchain, kontrolne vsote, kjer je pomembna odpornost na manipulacijo | Neposredno shranjevanje gesel — celo SHA-256 je za to prehiter; namesto tega uporabi bcrypt, scrypt ali Argon2 |
Pogosti primeri uporabe
- Preverjanje, da prenesena datoteka ustreza kontrolni vsoti izdajatelja, tako da datoteko zgostiš in primerjaš rezultat.
- Ustvarjanje deterministicnega ključa predpomnilnika iz URL-ja ali poizvedbenega niza, tako da identične zahteve vedno kažejo na isti zapis v predpomnilniku.
- Odstranjevanje podvojenih vnosov v velikem seznamu zapisov z zgoščevanjem vsakega in primerjavo hashev namesto primerjave celotnega besedila.
- Hitro preverjanje, ali sta dve kopiji datoteke bitno identični, brez odpiranja ali primerjanja vsebine.
Zakaj so kolizije pomembne za varnost, ne pa za kontrolne vsote
Kolizija hasha pomeni, da dva različna vnosa ustvarita enak izpis hasha — matematično neizogibno pri kateri koli zgoščevalni funkciji (ker je vnosov neskončno, izpisi pa so fiksne dolžine), a praktično tveganje je v celoti odvisno od primera uporabe. Za varnostni podpis namerno inženirstvo kolizije napadalcu omogoča, da zlonamerno datoteko zamenja z legitimno in obdrži isti hash, kar je natanko to, kar je dokazano proti MD5 od leta 2004 in proti SHA-1 od leta 2017. Za kontrolno vsoto ali ključ predpomnilnika nihče ne poskuša namerno ustvariti kolizije — le preverjaš, ali je bila datoteka po nesreči poškodovana ali ali sta dva naključna niza identična — zato ista matematična šibkost, ki zlomi varnostno rabo MD5, na nevarnostno rabo praktično nima vpliva.
Potrebujete primerjavo več algoritmov hkrati?
Če želite videti MD5, SHA-1, SHA-256, SHA-384 in SHA-512 istega besedila drug ob drugem namesto enega naenkrat, uporabite naše orodje za primerjavo več algoritmov.
Pogosta vprašanja
Ali lahko MD5 hash dešifriram nazaj v izvirno besedilo?
Ne — zgoščevanje je namerno enosmerno; izvirnika ni mogoče izračunati iz hasha. Strani za "MD5 dešifriranje" zgolj poiščejo hash v ogromnih vnaprej izračunanih tabelah pogostih vnosov, zato edinstvenih vnosov ni mogoče obrniti.
Ali je MD5 varen za shranjevanje gesel?
Ne, absolutno ne. MD5 je hitro razbiti z grobo silo in ima znane napade s kolizijami. Za gesla uporabi bcrypt, scrypt ali Argon2. MD5 je sprejemljiv le za nevarnostne namene, kot so kontrolne vsote.
Zakaj isto besedilo v drugem orodju da drugačen hash?
Običajno gre za neviden razloček: dodaten prelom vrstice ali presledek, drugačen konec vrstice (\r\n proti \n) ali drugačno kodiranje besedila. Bitno identičen vnos vedno da identičen hash.
Kakšna je razlika med MD5, SHA-1 in SHA-256?
Razlikujejo se po dolžini izpisa in varnosti: MD5 (128-bit) in SHA-1 (160-bit) sta oba zlomljena za varnostno rabo; SHA-256 (256-bit) je trenutni standard in ostaja varen. Če dvomiš, uporabi SHA-256.
Ali se moje besedilo pošilja na strežnik za zgoščevanje?
Ne. MD5 se izračuna z JavaScriptom, SHA-1/SHA-256 pa z vgrajenim Web Crypto API tvojega brskalnika — vse ostane na tvoji napravi.