反馈

Bcrypt加密校验

仅用于学习和测试,不要输入生产环境的真实密码。
生成 bcrypt 哈希

校验密码与哈希
生成与校验全部在浏览器本地完成,密码不上传。相关: scrypt · 随机密码 · SHA · MD5 · Htpasswd

📖 工具说明

1. bcrypt 是什么

bcrypt 是专门用来存密码的慢哈希。它自带随机盐(同一个密码每次生成的哈希都不同),并且有一个成本因子 cost:每加 1,计算量翻一倍,随硬件变快可以调高来对抗爆破。哈希串本身就包含了版本、cost 和盐,形如:

$2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy
 └┬┘ └┬┘ └──────────────────┬─────────────────────────────┘
 版本 cost              22 字符盐 + 31 字符哈希

2. 这个工具

3. 要注意的点

4. 常见问题(FAQ)

Q:bcrypt 能解密吗? A:不能,它是单向哈希。只能"拿一个候选密码去和哈希比对"。

Q:为什么同一个密码每次生成的哈希不一样? A:因为每次用不同的随机盐。校验时不需要单独存盐——盐就在哈希串里。

Q:和后端(PHP password_hash、Node bcrypt、Spring Security)结果通用吗? A:通用。bcrypt 是标准算法,只要密码字节一致(注意 72 字节截断和编码),任一实现生成的哈希都能被另一实现校验。

Q:cost 填多少合适? A:新项目从 10 起步,压测服务端后按"单次登录耗时可接受"往上调。

Q:数据会上传吗? A:不会,生成和校验都在浏览器本地用 bcryptjs 完成。


相关:scrypt · 随机密码生成 · SHA · Htpasswd 生成 · 文字加解密。

📖 了解原理

📖 相关推荐