Toolit你的日常工具箱

Bcrypt 加密

安全工具本地后台处理

本地生成 bcrypt 密码哈希、校验密码,支持成本因子设置与哈希信息解析。

推荐

密码

输出

处理结果将显示在这里
密码仅在浏览器本地处理生成 | 轮数:12

bcrypt 加密:在线生成与校验密码哈希

这款 bcrypt 工具能把任意密码转换成安全的 bcrypt 哈希,也能校验某个密码是否与已有哈希匹配——全部在你的浏览器中完成。它专为需要给数据库填充种子数据、测试登录流程或核对已存储 bcrypt 哈希的开发者打造,无需为此专门写代码。

bcrypt 是一种刻意设计得很慢的密码哈希算法,并内置盐值(salt),这让它的哈希比 MD5、SHA-256 等快速函数更难被暴力破解。从 4 到 31 选一个成本因子,在生成与校验之间切换,剩下的交给 bcryptjs 库处理。

隐私优先设计:所有加密与校验都使用 bcryptjs 库在你的浏览器本地运行。你的密码和哈希绝不会上传到任何服务器——甚至可以离线使用本工具。

如何使用 bcrypt 加密工具

1

选择「生成」或「校验」

用「生成」标签从密码创建新的哈希,或用「校验」标签检查某个密码是否与已有 bcrypt 哈希匹配。

2

输入内容

输入要加密的密码。在校验模式下,还需粘贴要核对的 bcrypt 哈希。点击示例数据可快速填入演示值。

3

选择成本因子

为新哈希设置成本因子(轮数)。默认值 12 适合大多数生产环境,旁边的彩色徽章会显示你所选数值对应的安全等级。

4

生成或校验

点击「生成哈希」得到哈希,一键即可复制。在校验模式下,点击「校验密码」查看绿色的匹配或红色的不匹配结果。

bcrypt 哈希结构解析

本工具生成的每个哈希都采用现代的 $2b$ 版本,把算法、成本、盐值和摘要打包进同一个字符串:

$2b$12$WApznUPhDubN0oeveSFPpOLo0dVMFJ.3CC9TmGkMxLFvnEGbgm4jq

$2b$ — 版本

算法标识符。2b 是当前的标准;本工具生成 2b 哈希,并可校验 2a、2b 和 2y。

12 — 成本因子

轮数,其中迭代次数 = 2^成本。成本为 12 意味着每个哈希迭代 2^12 = 4,096 次。

盐值 — 随后的 22 个字符

为每个哈希生成的唯一随机盐值,经 Base64 编码,用于挫败预先计算好的彩虹表。

哈希 — 末尾的 31 个字符

你的密码与盐值在所选成本下结合后得到的 Base64 编码摘要。

功能特性

生成与校验两种模式

从密码创建全新的 bcrypt 哈希,或切换标签检查某个密码是否与已有哈希匹配。

成本因子可调

在 4 到 31 轮之间任选,在哈希强度与生成速度之间取得平衡。

安全等级徽章

彩色徽章一眼把每个成本标注为低、中、推荐、高或极高。

哈希详情解析

每个结果都会显示算法版本与成本因子,让你一眼读懂哈希。

生成耗时

每次生成与校验都会显示精确耗时,让你掂量更高轮数的代价。

多版本校验

校验模式接受 $2a$、$2b$ 和 $2y$ 哈希,并会标出无效格式。

一键复制

一键把生成的哈希复制到剪贴板,随时粘贴进你的代码或数据库。

示例数据与清空

载入演示值即可立即测试,随后随时清空字段重新开始。

100% 浏览器本地

一切都使用 bcryptjs 库在你的浏览器中运行——任何密码都不会离开你的设备。

如何选择合适的成本因子

成本越高,每次密码猜测所需的工作量越大,但也会提高正常登录的开销。以下分档用于理解计算成本,不代表对系统安全的保证;请结合硬件、并发与响应时间测试。

轮数等级适用场景
4–9低仅限开发与测试
10–11中低安全性应用
12–13推荐生产环境应用
14–17高高安全性系统
18–31极高最高安全级别(生成缓慢)

常见问题

如何生成 bcrypt 哈希?

在「生成」标签下,输入你的密码,选一个成本因子(12 是不错的默认值),然后点击「生成哈希」。bcrypt 哈希会即时出现,一键即可复制。

bcrypt 哈希可以解密或逆向还原吗?

不能。bcrypt 是单向哈希算法,而非加密,因此哈希无法被还原成原始密码。确认密码的唯一办法是再次对它做哈希并进行比较——这正是「校验」标签所做的事。

如何校验密码与某个 bcrypt 哈希是否匹配?

切换到「校验」标签,输入密码,粘贴 bcrypt 哈希,然后点击「校验密码」。如果该密码能生成那个哈希,结果显示绿色的匹配;否则显示红色的不匹配。

为什么同一个密码每次生成的哈希都不一样?

bcrypt 会在每个哈希中嵌入唯一的随机盐值,所以即使密码完全相同,也会生成完全不同的字符串。这是有意为之的设计——能挫败预先计算好的彩虹表攻击。校验依然有效,因为盐值就存储在哈希本身之中。

什么是 salt rounds(盐值轮数)和成本因子?

成本因子(也叫轮数)控制 bcrypt 的工作量:迭代次数等于 2 的成本次方。数值越高,哈希会呈指数级变慢,因而更难被暴力破解。对大多数生产环境应用来说,12 轮在安全与性能之间取得了很好的平衡。

$2a$、$2b$ 和 $2y$ 之间有什么区别?

$2a$ 是最初的规范,$2b$ 是修复了长密码处理问题的更新版本,$2y$ 则是 PHP 的标识符。三者互相兼容——本工具生成 $2b$ 哈希,并能校验全部三种格式。

密码长度有上限吗?

bcrypt 最多处理 72 字节的输入,超出部分会被静默截断。这通常不是问题,但如果你需要对很长的口令短语做哈希,可先用 SHA-256 对其做预哈希,再应用 bcrypt。

使用本工具时我的密码安全吗?

安全。所有加密与校验都完全使用 bcryptjs 库在你的浏览器中进行——你的密码绝不会发送到任何服务器。你可以在断网状态下使用本工具来验证这一点。