Bcrypt este o funcție de hashing a parolelor proiectată să fie lentă și costisitoare din punct de vedere computațional, făcând-o rezistentă la atacurile brute-force. Este standardul industriei pentru stocarea sigură a parolelor.
Cum funcționează Bcrypt
Bcrypt folosește cifrul Blowfish cu un salt și un factor de cost. Factorul de cost (runde) determină câte iterații execută algoritmul - fiecare creștere dublează timpul de calcul, făcând atacurile exponențial mai dificile.
De ce să folosiți Bcrypt?
Spre deosebire de MD5/SHA care sunt rapide (rău pentru parole), bcrypt este intenționat lent. Acest lucru face atacurile brute-force impracticabile. Un cost de 10 înseamnă 2^10 (1.024) iterații, care durează ~100ms pentru hash - neglijabil pentru autentificare dar devastator pentru atacatori care încearcă miliarde de parole.
Cele mai bune practici de securitate
Folosiți cost 10-12 pentru majoritatea aplicațiilor. Cost 10 este minimul recomandat actual. Nu folosiți niciodată MD5 sau SHA-1 pentru parole - sunt sparte. Nu stocați niciodată parole în text simplu. Folosiți întotdeauna bcrypt, Argon2 sau scrypt pentru hashing-ul parolelor.