Parola hashing în PHP 5

În acest articol vom explica bazele utilizării noului API-ul hash în PHP. Această metodă de a simplifica viața parolei hashing cât mai mult posibil. Ia parola noastră -> obține hash -> scrie la baza de date. Nu manipulare inutile.

• password_hash () - este utilizat pentru parola hashing.
• password_verify () - utilizat pentru a verifica conformitatea cu parola hash.
• password_needs_rehash () - utilizat pentru a verifica necesitatea de a crea un nou hash.
• password_get_info () - returnează numele algoritmului hash și diferiți parametri utilizați pentru hashing.

Asta e atât de ușor. Primul parametru - șirul de parolă pentru a fi zaheshirovat, iar al doilea parametru specifică algoritmul care urmează să fie utilizat pentru a genera hash.

algoritmul implicit, în prezent, BCrypt, dar un algoritm puternic poate fi setat ca implicit, cândva în viitor, și, probabil, va genera o linie de mare. Dacă utilizați PASSWORD_DEFAULT, asigurați-vă că pentru a stoca hash în coloană, dimensiunea de mai mult de 60 de caractere. Cel mai bine este de a seta dimensiunea 255. Puteți utiliza, de asemenea PASSWORD_BCRYPT ca al doilea parametru. În acest caz, rezultatul va fi întotdeauna 60 de caractere.

Deci, dacă ai crezut că nu a fost suficient, puteți utiliza propria sare
Efectuat.

Acum, verificați parola introdusă de către utilizator. Tot ce avem nevoie - este de a lua un hash al parolei din baza noastră de date și se compară cu parola introdusă.

password_needs_rehash ()
password_needs_rehash () verifică dacă funcția un algoritm specific parolă hash folosește, sarea și costul de calcul.
Această operație poate fi efectuată atunci când utilizatorul se conectează în sistem, pentru că numai dacă avem acces la parola în mod explicit.

password_get_info ()
password_get_info () funcția ia hash și returnează un tablou asociativ din trei elemente:
• algo - constantă care identifică un anumit algoritm
• algoName - numele algoritmului utilizat
• Opțiuni - diverse opțiuni utilizate la generarea hash

articole similare