Bcrypt on salasanan tiivistysfunktio, joka on suunniteltu olemaan hidas ja laskennallisesti kallis, mikä tekee siitä vastustuskykyisen brute-force-hyökkäyksille. Se on alan standardi salasanojen turvalliseen tallentamiseen.
Miten Bcrypt toimii
Bcrypt käyttää Blowfish-salausta suolan ja kustannustekijän kanssa. Kustannustekijä (kierrokset) määrittää kuinka monta iteraatiota algoritmi suorittaa - jokainen lisäys kaksinkertaistaa laskenta-ajan, mikä tekee hyökkäyksistä eksponentiaalisesti vaikeampia.
Miksi käyttää Bcryptiä?
Toisin kuin MD5/SHA, jotka ovat nopeita (huono salasanoille), bcrypt on tarkoituksella hidas. Tämä tekee brute-force-hyökkäyksistä epäkäytännöllisiä. Kustannus 10 tarkoittaa 2^10 (1024) iteraatiota, joka vie ~100ms tiivistämiseen - merkityksetön kirjautumiselle mutta tuhoisa hyökkääjille, jotka yrittävät miljardeja salasanoja.
Parhaat turvallisuuskäytännöt
Käytä kustannusta 10-12 useimmille sovelluksille. Kustannus 10 on nykyinen suositeltu minimi. Älä koskaan käytä MD5:tä tai SHA-1:tä salasanoille - ne on murrettu. Älä koskaan tallenna selkokielisiä salasanoja. Käytä aina bcryptiä, Argon2:ta tai scryptiä salasanojen tiivistykseen.