Componentele liniei hash bcrypt
O modalitate buna de stocare a datelor pentru autentificare este șirul hash-ului bcrypt. În PHP, acest lucru este implementat folosind cript cu algoritmul blowfish. În versiunile ulterioare de PHP, folosiți password_hash. În Yii, pentru asta, există Securitate :: generatePaswordHash (). Linia de ieșire arată astfel:
$ 2y $ 13 $ YUUgrko03UmNU / fe6gNcO. Hka4lrdRlkq0iJ5d4bv4fK.sKS.6jXu
Lungimea parolei este întotdeauna de 60 de caractere.
- 2y - versiunea algoritmului bcrypt. Folosim blowfish, deci în versiunile mai noi ale PHP ar trebui să fie întotdeauna 2y.
- 13 - cost. Costul calculelor. 2 ^ 13 iterații ale funcției de formare a cheilor.
- Restul este sare concatenată și un hash codificat prin base64 cu un set de caractere ușor non-standard. Primele 22 de caractere sunt 16 octeți de sare. Restul este un hash.
Atunci când compară parola, bcrypt primește versiunea algoritmului, costul și sarea din linia hash a parolei salvate. Apoi, folosindu-le, se calculează hash-ul parolei noi și se compară cu hash-ul salvat.
Ar trebui să fie așa.
Este adevărat că brutitul a fost o operațiune costisitoare, chiar dacă a existat o scurgere de parole.
Brutit va fi costisitor pentru proprietarul site-ului, deoarece pentru o astfel de operare simplă și dificilă este foarte ușor să închideți un server