Jump to content

Recommended Posts

Posted

MD5 (Message Digest Algorithm 5) este o funcție criptografică de tip hash unidirecțional, care livrează ca rezultat o valoare fixă ca lungime de 128 Biți. Funcția MD5 a fost dezvoltată în 1991 de Ronald L. Rivest și publicată în 1992 în RFC 1321. Este utilizată drept componentă în unele scheme de semnătură electronică, deși tinde să fie înlocuită în acest scop de SHA-1 sau RIPEMD-160, funcții mai puțin sensibile la coliziuni. Valuarea calculată cu ajutorul funcției MD5 (pe scurt md5sum), este folosită însă pe scară largă drept sumă de control, la verificarea integrității fișierelor.

md5w.png

Exemplu de hash: e10adc3949ba59abbe56e057f20f883e.

Observam ca:

-indiferent de lungimea unei parole, hashul generat va fi de lungime 32.

-in cazul metodei SHA1, lungimea hashului este 40.

-este un hash ireversibil,deci doar se poate coda, si nu poate fi spart decat cu ajutorul dictionarelor, sau prin bruteforce.

Intr-o baza de date (phpbb de exemplu),acest hash se gaseste in tabelul

phpbb_users

unde se scriu toate detaliile despre un anumit user.

Pentru a gasi un astfel de hash la un anumit user,( care reprezinta de altfel si parola lui) intr-o baza de date, este nevoie doar sa dati un simplu search in baza de date cu numele user-ului caruia vreti sa ii aflati hash-ul.

Hash-ul intr-o baza de date vine exact dupa nume.

Pentru a afla si parola acestuia s-au facut o gramada de site-uri ce contin dictionare cu hash-uri.

Mai detaliat:

SSL/SSH protejează traversarea datelor de la client la server, însă SSL/SSH nu protejează datele stocate în baza de date. SSL este un protocol de tranzit.

Odată ce atacatorul capătă acces la baza de date direct (evitând serverul web), informația stocată poate fi expusă sau abuzată, dacă ea nu este protejată de însăși baza de date. Criptarea datelor este o bună masură pentru a diminua acest risc, însă prea puține baze de date oferă acest tip de criptare.

Cea mai ușoară cale de a rezolva problema este de a crea propriul pachet de criptare, și apoi folosirea lui cu scripturile PHP. PHP vă poate ajuta în aceasta prin intermediul câtorva extensii, cum ar fi Mcrypt și Mhash, care acoperă o varietate largă de algoritmi de criptare. Scriptul criptează datele înainte de a fi inserate în baza de date, și le decriptează la extragerea acestora.

În cazul datelor care trebuie să fie confidențiale, a căror expunere nu este necesară în nici un context, procedeul hashing poate fi luat în considerare.

Aveti aici un mic tutorial de criptare cu md5 si sha1 in php: Link

Cat despre limbajul c++, acesta poate fi folosit cu succes la generarea hash-urilor.

Pasii pe care trebuie sa i urmati, aici

Algoritmul in c++ : ZedWood

Cat despre numeroasele dictionare md5, ele genereaza parola "ascunsa" doar in cazul in care hash-ul respectiv se afla in baza lor de date, sau unele, genereaza un hash similar celui dat. Un exemplu aveti aici: My link. (ps: site-ul contine si cateva programe pentru conversii: timestamp, decimal/hexazecimal, etc...) :D

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.