Command Palette

Search for a command to run...

BC

Bcrypt 生成器

使用可调节的成本系数在浏览器中生成并验证 bcrypt 密码哈希值

什么是 Bcrypt 生成器?

Bcrypt生成器将一个普通密码变成bcrypt哈希:一个60个字符的字符串,可以安全地存储密码,而不会保留密码本身Bcrypt是Niels Provos和David Mazieres在1999年设计的一个密码散列函数,建立在Blowfish密码之上,它仍然是Laravel,Spring Security和Django(作为几个支持的哈希之一)等框架中的默认选择。该工具从任何密码生成一个哈希,并在验证模式下检查密码是否与您已有的哈希匹配。

Bcrypt做两件事,一个原始的SHA-256没有,它用16个随机字节来盐化每个哈希,烘烤到输出中,所以两个相同密码的用户得到不同的哈希和预先计算的彩虹表是无用的,而且故意慢:从4到31的成本因素控制运行多少个密钥扩展轮,每一步都使工作加倍,那个慢是全部点,一个快速哈希让一个数据库泄露的攻击者在GPU上尝试几十亿次猜测一秒;一个成本-12的bcrypt哈希需要五分之一秒左右的CPU时间,这使攻击者在每个核心的几次猜测一秒时就封顶,这使得被盗的数据库无法在一夜之间变成明文密码列表。

输出格式是自描述的,像$2b$12$R9h/cIPz0gi。URNNX3kh2OPST9/PgBkqquzi。Ss7KIUgO2t0jWMUW这样的一个散列,包含了由美元符号分隔的四个字段:版本(2b)、成本(12),然后是一个22字符的Base64盐,后面跟着31字符的摘要。由于盐和成本在散列内部传播,验证只需要密码和散列字符串,这正是这里验证模式所使用的。

Everything 在您的浏览器中运行客户端。您键入的密码、粘贴的哈希值以及生成的盐永远不会离开选项卡、没有击中服务器、没有日志。开发人员工具的网络面板显示唯一的请求是使用检查和使用记录,它们携带成本设置,但永远不会携带密码或哈希值。bcrypt 算法采用纯 TypeScript 实现,因此一旦页面加载,该工具也会离线工作。输出是字节对字节兼容 OpenBSD、PHP 密码_哈希值(PASSWORD_BCRYPT)、Node bcrypt 库以及每个主要框架中的 bcrypt 验证器,因此此处生成的哈希值会在您的应用程序中进行验证,反之亦然。

bcrypt哈希生成器的一个快速尝试方法是样本,在生成中按Load Sample填写正确的马电池订书钉,将成本系数留在10,按Generate Hash。你得到一个60个字符的字符串,起始$2b$10$,再按Generate Hash给出一个不同的,因为每次盐都是新的,在验证中,Load Sample填写一个存储的哈希和相同的密码,并验证报告匹配(成本10),将第一个字母更改为大写C,它报告不匹配。那个往返是bcrypt密码生成器应该证明的。

Bcrypt生成器怎么用?

  1. 输入密码

    Type 或粘贴你想要散列的密码,Bcrypt 使用 UTF-8 编码密码的前 72 字节,因此任何更长的时间都会被截断;当这种情况发生时,该工具会警告你。

  2. 选择成本因素

    4到31随滑块挑选一个成本,每一步哈希时间加倍,10到12成本是2020年代生产登录系统的常见范围;更高的成本更耐破解,但每个合法登录的速度也更慢。

  3. 生成哈希值

    Click Generate。创建一个新鲜的随机16字节盐,并在浏览器中计算bcrypt哈希值。因为盐是随机的,哈希相同的密码再次产生不同的哈希值,这是预期的和正确的。

  4. 复制它,或切换到验证

    60 个字符的哈希复制到您的用户表或配置中,要根据现有的哈希检查密码,请切换到验证模式,粘贴哈希和候选密码,工具报告匹配或不匹配使用哈希中嵌入的成本和盐。

主要特点

  • 生成并验证

    在一个工具中哈希新密码或根据现有 bcrypt 哈希检查密码

  • 可调整的成本因素

    4到31的滑块,并实时估计工作如何增长,因为你提高它

  • 每次随机盐

    使用 Web Crypto API 每哈希生成一个加密强 16 字节的盐

  • 标准兼容输出

    产 $2b$ 格式,OpenBSD、PHP 密码_哈希、Laravel 和 Node bcrypt 都接受

Frequently Asked Questions

是的,因为散列完全发生在您的浏览器中,并且密码永远不会发送到任何地方。您可以在开发人员工具的 Network 选项卡中验证这一点:生成散列仅进行使用检查和使用记录,并且不包含密码、盐或散列。也就是说,浏览器选项卡不是密码管理器,因此请避免将生产帐户的实时凭据粘贴到您未构建的任何网页中,并在完成后关闭该选项卡。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

bcryptbcrypt generatorbcrypt hashpassword hashbcrypt verifyhash passwordbcrypt cost factorbcrypt onlinebcrypt hash generatorbcrypt password generatorpassword_hashsalt