CodeKitHub
Generatorska orodja

MD5 šifriranje / dešifriranje splet

Nazadnje posodobljeno:

Ljudje pogosto iščejo orodje za "MD5 dešifriranje", a MD5 ni šifriranje — je enosmerni hash, zato ni ničesar za dešifrirati. To orodje naredi tisto, kar je dejansko mogoče: takoj pretvori katero koli besedilo v njegov 32-znakovni MD5 hash, v celoti v tvojem brskalniku, da lahko preveriš podatke ali jih primerjaš z znanim hashem.

MD5 Hash

MD5 is a one-way hash — it cannot be reversed back into the original text.

Kaj je to orodje?

MD5 ("Message Digest 5") vzame kateri koli vnos — besedo, geslo, celo datoteko — in ustvari fiksen 128-bitni prstni odtis, zapisan kot 32 šestnajstiških znakov. Enak vnos vedno ustvari enak hash, sprememba enega samega znaka pa ustvari popolnoma drugačnega.

Beseda "šifriranje" se pogosto pripisuje MD5, a je tehnično napačna. Šifriranje je reverzibilno s pravim ključem; zgoščevanje (hashing) sploh ni reverzibilno. Storitve za "MD5 dešifriranje", ki si jih morda videl na spletu, matematike v resnici ne obrnejo — tvoj hash poiščejo v ogromni vnaprej izračunani tabeli pogostih gesel in besed, in uspejo le, če je tvoje izvirno besedilo že v tej tabeli.

MD5 je leta 1992 objavil Ron Rivest kot RFC 1321. Kriptografsko je zlomljen za varnostne namene (kolizije je mogoče namerno ustvariti), a je še vedno pogosto v rabi za kontrolne vsote, ključe predpomnilnika in odstranjevanje podvojenih vnosov, kjer varnost ni pomembna.

Zakaj ga uporabiti?

  • Ustvari MD5 hash za preverjanje, da datoteka ali niz nista bila po nesreči spremenjena.
  • Primerjaj svoj hash z znanim/objavljenim MD5, da potrdiš celovitost.
  • Ustvari deterministične ključe predpomnilnika ali ID-je za odstranjevanje podvojenih vnosov.
  • Jasno razumi, zakaj "dešifriranje" MD5 hasha pravzaprav ni mogoče.
  • 100 % lokalno: tvoj vnos se zgosti (hashira) v tvojem brskalniku in se nikoli ne naloži v oblak.

Kako ga uporabljati

  1. Vnesi ali prilepi besedilo v vnosno polje.
  2. Klikni "Generate MD5".
  3. Preberi nastali 32-znakovni hash (obkljukaj "Uppercase output", če potrebuješ velike črke).
  4. Klikni "Copy", da kopiraš hash, ali ga uporabi za primerjavo z že obstoječim hashem.

Primer

Vnos

hello

Rezultat

5d41402abc4b2a76b9719d911017c592

MD5 je deterministični: besedilo "hello" ustvari točno ta hash v vsakem orodju, vsakič znova.

"Šifriranje" proti "zgoščevanju": zakaj je terminologija pomembna

Šifriranje in zgoščevanje rešujeta različne probleme, njuno mešanje pa vodi do resničnih varnostnih napak. Šifriranje reverzibilno preoblikuje podatke z uporabo ključa — šifriraj s ključem, dešifriraj z (istim ali povezanim) ključem, dobi izvirnik nazaj. Zgoščevanje preoblikuje podatke enosmerno, brez kakršnega koli ključa — ne obstaja operacija, ki bi hash spremenila nazaj v njegov vnos, po zasnovi.

MD5 je zgoščevalna funkcija, ne šifra. Poimenovanje "MD5 šifriranje" je pogosta neformalna raba, a ustvarja napačno pričakovanje: legitimne operacije "MD5 dešifriranje" ni. Karkoli je oglaševano kot taka, je bodisi tabela iskanja (deluje le za pogoste, že znane vnose) bodisi preprosto ne deluje.

Kdaj je MD5 še vedno v redu za uporabo

  • Preverjanje, da prenesena datoteka ustreza kontrolni vsoti izdajatelja, preden jo zaženeš.
  • Ustvarjanje deterministicnega ključa predpomnilnika iz URL-ja ali poizvedbenega niza.
  • Odstranjevanje podvojenih zapisov z zgoščevanjem vsakega in primerjavo hashev namesto celotnega besedila.
  • Hitro preverjanje, ali sta dve datoteki bitno identični, brez njunega primerjanja.

Kdaj se MD5 v celoti izogniti

Nikoli ne uporabljaj MD5 za gesla, digitalne podpise ali karkoli, kjer je pomembno, da napadalec ne more izkoristiti prisiljenega ujemanja. Ker je kolizije mogoče namerno ustvariti in ker je nesoljene MD5 hashe kratkih ali pogostih vnosov mogoče obrniti prek tabel iskanja, MD5 v teh kontekstih ne ponuja resnične varnosti. Za gesla uporabi bcrypt, scrypt ali Argon2. Za podpise in celovitost, kjer je pomembna odpornost proti manipulaciji, uporabi SHA-256 ali močnejše.

Pogosta vprašanja

Ali lahko MD5 hash dešifriram nazaj v izvirno besedilo?

Ne — zgoščevanje (hashing) 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 ali dolgih vnosov ni mogoče obrniti.

Kaj torej dejansko počnejo strani za "MD5 dešifriranje"?

Vzdržujejo ogromne podatkovne baze, ki povezujejo pogoste besede, imena in razkrita gesla z njihovimi MD5 hashi, nato izvedejo iskanje. Če tvojega izvirnega besedila ni v njihovi bazi — kar je verjetno za karkoli netrivialnega — preprosto ne vrnejo rezultata.

Ali je MD5 varen za shranjevanje gesel?

Ne, absolutno ne. MD5 je hitro razbiti z grobo silo, ima znane napade s kolizijami, iskanje v tabeli "dešifriranja" pa je natanko napad, ki razbije nesoljeno shranjevanje gesel z MD5. Za gesla uporabi bcrypt, scrypt ali Argon2.

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 ustvari identičen MD5 hash.

Ali se moje besedilo pošilja na strežnik za zgoščevanje?

Ne. MD5 hash se izračuna z JavaScriptom neposredno v tvojem brskalniku — tvoj vnos se nikoli ne prenaša nikamor.

Sorodna orodja