Command Palette

Search for a command to run...

密码

密码生成器

使用自定义字符集和强度分析生成强大的随机密码

什么是密码生成器?

密码生成器使用 Web Crypto API 创建随机密码 - 与浏览器用于 TLS 会话密钥的相同 crypto.getRandomValues() 源。 这很重要,因为 Math.random() 是一个可预测的 PRNG;如果有足够的输出,它的内部状态可以被重建并预测未来的值。 该工具使用带有拒绝采样的加密安全源,因此每个字符在您选择的池中具有真正统一的概率,没有模偏差。

您可以控制配方:从 8 到 128 个字符的长度,以及大写、小写、数字和符号的独立切换。 排除模糊选项带出相似的字符 - 0/o、1/l/i、反引号、管道 - 当密码通过手机读取或在服务器控制台中输入粘滞便笺时,它可以节省真正的痛苦。 生成器还保证每个启用集的至少一个字符,因此带有符号的 12 个字符的密码实际上将包含一个符号。

一切都在您的浏览器中运行 100% 客户端。 没有密码会触及网络请求、服务器日志或分析事件 - 您可以在 DevTools 的“网络”选项卡中验证自己,或者只是切断连接并继续生成。 内置强度计显示了每秒100亿次猜测的估计离线破解时间,以位为单位显示熵,对于GPU装备攻击MD5或NTLM等快速哈希是一个现实的数字。

长度胜过复杂性,算术值得一看。 每个附加字符都将搜索空间乘以字母的大小,因此向 26 字母密码添加一个字符不仅仅是向短字符添加符号要求。 混合字母的16个字符的随机密码对于任何可预见的硬件都超出了暴力的范围;一个带有大写字母、数字和标点符号的8个字符的密码不是,它正是大多数密码策略产生的形状。 实际的推论是生成的密码需要一个密码管理器,因为没有人会记住十六个随机字符,而后备正在写下来或重用它。 排除含糊不清的字符在大声朗读密码时不与 1 混淆 1 的熵。

如何使用密码生成器?

  1. 设置长度

    将滑块拖动到 8 个字符到 128 个字符。 对于大多数帐户,16-20 个字符是一个最佳位置:舒适地超过了暴力破解不可行的点,但在密码管理器不是选项时仍然足够短,可以手动键入。 长度胜过复杂性 - 每个额外的字符都会乘以键空间。

  2. 选择你的角色集

    独立切换大写、小写、数字和符号。 如果密码将被手动转录,则启用“排除歧义” - 它删除0/O、1/L/I和类似的相似之处。 一些遗留系统拒绝某些符号,因此如果注册表单不断抱怨,请尝试关闭符号并添加四个长度的字符。

  3. 生成并检查仪表

    点击生成并观看力量栏。 假设离线攻击者每秒运行 100 亿次,它以位为单位报告熵和估计的破解时间。 任何显示“世纪”或更好的东西都适合现实世界使用。 如果您想要选项,请切换到批处理模式并一次生成五个候选。

  4. 正确复制和存储

    单击任何密码旁边的复制按钮将其放在剪贴板上,然后将其直接粘贴到您的密码管理器中。 不要跨站点重复使用它 - 一项服务的违反将共享密码变成每个使用它的帐户的骨架密钥。

主要特点

  • 加密安全

    使用带有拒绝采样的 crypto.getRandomValues() - 没有 Math.Random() 可预测性,没有模偏置

  • 全字符控制

    独立切换,用于大写、小写、数字和符号,长度从 8 到 128 个字符

  • 排除模棱两可的字符

    可选地为需要在大声朗读或手写中生存的密码剥离类似0/o和1/l/i的密码

  • 熵基强度计

    以位为单位显示熵和每秒 100 亿次猜测的现实裂缝时间估计

Frequently Asked Questions

是的,当该工具像此一样完全运行客户端时。 密码是使用 Web Crypto API 在您的浏览器选项卡中创建的,并且永远不会离开您的机器 - 没有网络请求携带它,并且没有记录在服务器端。 您可以通过打开 DevTools、在生成或完全断开 Internet 时查看网络选项卡来确认这一点。

Comments

0 comments

0/2000 characters

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

passwordgeneratorrandom passwordstrong passwordsecure passwordpassword strengthcrypto randompassphrasepassword maker