Bcrypt er en passordhashingfunksjon designet for å være treg og beregningsmessig dyr, noe som gjør den motstandsdyktig mot brute-force angrep. Det er industristandarden for sikker lagring av passord.
Hvordan Bcrypt fungerer
Bcrypt bruker Blowfish-chifferet med et salt og en kostnadsfaktor. Kostnadsfaktoren (runder) bestemmer hvor mange iterasjoner algoritmen utfører - hver økning dobler beregningstiden, noe som gjør angrep eksponentielt vanskeligere.
Hvorfor bruke Bcrypt?
I motsetning til MD5/SHA som er raske (dårlig for passord), er bcrypt med vilje treg. Dette gjør brute-force angrep upraktiske. En kostnad på 10 betyr 2^10 (1024) iterasjoner, som tar ~100ms å hashe - ubetydelig for innlogging men ødeleggende for angripere som prøver milliarder av passord.
Beste sikkerhetspraksis
Bruk kostnad 10-12 for de fleste applikasjoner. Kostnad 10 er det nåværende anbefalte minimum. Bruk aldri MD5 eller SHA-1 for passord - de er knekt. Lagre aldri klartekstpassord. Bruk alltid bcrypt, Argon2 eller scrypt for passordhashing.