Bcrypt je funkcija hashiranja gesel, zasnovana da je počasna in računalniško draga, kar jo naredi odporno na napade z grobo silo. Je industrijski standard za varno shranjevanje gesel.
Kako Bcrypt deluje
Bcrypt uporablja šifro Blowfish s soljo in faktorjem stroškov. Faktor stroškov (krogi) določa, koliko ponovitev algoritem izvede - vsako povečanje podvoji čas izračuna, kar naredi napade eksponentno težje.
Zakaj uporabljati Bcrypt?
Za razliko od MD5/SHA, ki sta hitra (slabo za gesla), je bcrypt namerno počasen. To naredi napade z grobo silo nepraktične. Stroški 10 pomenijo 2^10 (1.024) ponovitev, kar traja ~100 ms za hashiranje - zanemarljivo za prijavo, a uničujoče za napadalce, ki preizkušajo milijarde gesel.
Najboljše varnostne prakse
Uporabljajte stroške 10-12 za večino aplikacij. Stroški 10 so trenutni priporočeni minimum. Nikoli ne uporabljajte MD5 ali SHA-1 za gesla - so zlomljeni. Nikoli ne shranjujte gesel v navadnem besedilu. Vedno uporabljajte bcrypt, Argon2 ali scrypt za hashiranje gesel.