语言
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
bcrypt 加密

bcrypt 加密

生成与校验 bcrypt 密码哈希,可自由调节成本因子(轮数)。全程在浏览器本地运行,密码绝不离开你的设备。

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 哈希,并可校验 2a2b2y

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 库在你的浏览器中进行——你的密码绝不会发送到任何服务器。你可以在断网状态下使用本工具来验证这一点。

推荐
密码
bcrypt 哈希
输出

输入密码并点击“生成”即可创建 bcrypt 哈希

bcrypt 哈希
算法 2b
成本因子 12
生成耗时
就绪
|
生产环境建议使用成本因子 12,在安全与性能之间取得平衡
轮数越高哈希越强,但生成越慢——调节时留意生成耗时
点击示例数据填入演示值,立即试用
在校验模式下,粘贴任意 $2a$、$2b$ 或 $2y$ 哈希,验证它与某个密码是否匹配
你的密码绝不离开浏览器——所有加密均在本地 JavaScript 中运行
想了解更多? 阅读文档 →
1/6
开始输入以搜索...
搜索中...
未找到结果
请尝试使用不同的关键词搜索