bcrypt:一种专门用于安全存储密码的哈希算法(更准确说是“基于口令的哈希/密钥派生方案”)。它的特点是可调节计算成本(cost factor)、自带盐(salt),并且刻意设计得更“慢”,以提高暴力破解与彩虹表攻击的成本。除密码存储外也可用于从口令派生密钥。
/ˈbiː.krɪpt/
Use bcrypt to hash user passwords before saving them in the database.
在把用户密码保存到数据库之前,用 bcrypt 对密码进行哈希处理。
Even if attackers steal the password database, bcrypt’s cost factor and unique salts make large-scale cracking far more expensive.
即使攻击者窃取了密码数据库,bcrypt 的成本因子和唯一盐值也会让大规模破解变得代价高得多。
bcrypt 这个名称通常被解释为 b + crypt:其中 crypt 与“加密/密码学”相关;b 常被认为指向它与 Blowfish(一种分组密码)相关的设计背景。bcrypt 最初由 Niels Provos 和 David Mazières 于 1999 年提出,用于替代传统的 Unix 密码哈希方案并提升抗破解能力。