密码生成器
使用此栏位的单词取代预设单词清单。你可以输入任何语言的单词。
介绍
Toollect 密码生成器是一个基于浏览器的安全工具,能建立强、密码学安全的随机密码与词组密码。它服务任何需要安全凭证的人——从管理多个在线帐户的一般用户,到需要审计级密码生成的安全意识专业人士。
弱密码仍然是帐户被入侵的主要原因。Toollect 密码生成器使用 Web Crypto API 的密码学安全随机数生成器,消除了密码创建中的人为偏见。每个密码都来自真正的熵值,而非可预测的算法或人类模式。
与基于服务器的密码工具不同——那些会将你的潜在凭证通过网络传输——Toollect 密码生成器完全在你的浏览器中运作。没有数据会传送到任何服务器、存储在任何数据库或记录在任何会话中。这种隐私优先的方法确保你生成的密码只有你知道。
工作原理
密码生成器以两种不同的模式运作,每种都由密码学安全的随机数生成驱动。
随机模式
在随机模式中,生成器从你选择的字符集中逐字符建立密码:
-
字符选择池:生成器合并你选定的字符集——大写字母(A-Z)、小写字母(a-z)、数字(0-9)和符号(!@#$%^&*)。你还可以启用「排除模糊字符」选项,移除容易混淆的字符(i、l、1、L、o、0、O)。
-
保证覆盖:生成器确保每个选定的字符集至少有一个字符出现在最终密码中。这可以防止当你同时选择大写、小写和数字时出现类似「AAAAAAAA12」的密码——即使是随机选择也必须包含每种类型。
-
密码学随机性:每个字符使用
crypto.getRandomValues()选定,该方法从操作系统的熵源中提取。这与 TLS/SSL 和磁盘加密系统使用的来源相同。 -
Fisher-Yates 洗牌:组装后,密码经过无偏的 Fisher-Yates 洗牌以随机化字符顺序,消除保证覆盖步骤带来的任何位置偏差。
词组模式
词组模式使用精心策划的单词列表而非单个字符:
-
单词列表:内置列表是 EFF 短单词列表 #1(1296 个简短、常见的英文单词)。每个单词贡献约 10.3 位的熵值(log2(1296))。
-
自定义单词:你可以在自定义单词字段中提供自己的单词。生成器使用你的单词而非默认列表,让你能用任何语言创建词组密码。
-
组装:生成器随机选取指定数量的单词,可选择将每个单词首字母大写,用你选择的分隔符连接,并根据配置附加随机数字和/或符号。
强度计算
密码强度以熵值的位数衡量:
- 随机密码:熵值 = 长度 × log2(字符集大小)
- 词组密码:熵值 = 单词数 × log2(单词列表大小)
强度指示器将熵值范围映射到描述性标签:弱(0-29 位)、普通(30-49 位)、良好(50-69 位)、强(70-99 位)、非常强(100+ 位)。
使用方法
使用 Toollect 密码生成器无需设置或注册。请按以下步骤操作:
-
选择模式 — 使用顶部的标签选择随机或词组模式。
-
随机模式设置:
- 调整长度滑块(8-128 个字符)
- 勾选或取消勾选字符集:大写字母、小写字母、数字、符号
- 可选启用「排除模糊字符」以移除容易混淆的字符
-
词组模式设置:
- 调整单词数滑块(3-12 个单词)
- 选择单词分隔符(空格、连字符、下划线、点号或无)
- 可选启用「每个单词首字母大写」、「加入随机数字」或「加入随机符号」
- 可选在文本区域中输入自定义单词以替换默认单词列表
-
生成 — 单击生成按钮。密码或词组出现在输出区域。
-
检查强度 — 查看强度指示器以评估安全等级。
-
复制密码 — 单击复制将密码复制到剪贴板,然后粘贴到你的帐户注册或密码管理器中。
-
清除重新开始 — 单击清除重置输出并重新开始。
教程
本教程演示两个完整的工作流程——为社交媒体帐户创建随机密码,以及为电子邮件创建词组密码。
场景 1:为社交媒体帐户创建随机密码
- 打开密码生成器。工具默认在随机模式打开。
- 将长度设为 16。当前数值显示在长度标签旁。
- 确保以下复选框已勾选:A-Z(大写)、a-z(小写)、0-9(数字)。将符号保持不勾选——许多社交媒体平台接受字母数字密码。
- 勾选「排除模糊字符」以防混淆外观相似的字符,如
1(数字一)和l(小写 L)。 - 单击生成。一个 16 字符的密码出现在输出区域。强度指示器应显示「强」或「非常强」。
- 单击复制将密码复制到剪贴板,然后粘贴到社交媒体的密码字段中。
- 完成后单击清除重置。
场景 2:为电子邮件创建词组密码
- 单击词组标签切换到词组模式。
- 将单词数设为 5。来自 EFF 单词列表的 5 单词词组密码提供约 51 位的熵值。
- 选择「空格」作为单词分隔符,以获得经典的 xkcd 风格词组密码格式。
- 勾选「每个单词首字大写」和「加入随机数字」。将「加入随机符号」保持不勾选——大多数电子邮件服务接受带空格的字母数字密码。
- 单击生成。类似「Plank Lunch Quilt Ivory Sunset7」的词组会出现。
- 查看强度——5 个单词至少应显示「强」。
- 单击复制并将词组用于你的电子邮件帐户。空格和大写使其在桌面和移动设备上都更容易正确输入。
专业技巧
- 为主密码使用词组:你的密码管理器主密码是最重要的凭证。使用词组模式和 6-7 个单词创建既安全又好记的主密码。
- 根据帐户敏感度匹配密码长度:低风险(论坛注册、通讯)使用 8-12 字符,标准(社交媒体、购物)使用 14-20 字符,高价值(电子邮件、银行、密码管理器)使用 24+ 字符。
- 为 Wi-Fi 密码组合模式:为你的 Wi-Fi 网络生成 20+ 字符的随机密码。Wi-Fi 密码只需输入一次后存储在设备上,记忆性不重要——最大化熵值才是关键。
- 利用自定义单词创建个人词组:在词组模式中,在自定义单词字段输入你生活中的单词(宠物名、街道名、爱好)。生成器从你已经知道的单词创建词组,几乎不可能忘记。
- 多次生成选取最佳密码:重复按生成键产生多个候选密码。比较它们并选择对你最容易使用同时保持所需强度级别的那个。
- 以强度指示器为最低门槛:任何保护敏感数据的密码至少应达到「强」(70+ 位熵值)。「非常强」(100+ 位)适合加密密钥和主密码。
替代方案
虽然 Toollect 密码生成器在基于浏览器的密码创建方面表现出色,但针对不同使用场景也存在几种替代方案。
| 工具 / 方法 | 最佳用途 | 限制 |
|---|---|---|
| Toollect 密码生成器 | 浏览器端、词组模式、自定义单词、隐私优先 | 需要网络加载页面 |
| 内置密码管理器(iCloud Keychain、Google、Bitwarden) | 跨设备自动填入和同步 | 受限于特定生态系统,密码生成选项不一 |
| Diceware 手动方法 | 气隙环境、零信任词组密码生成 | 需要实体骰子和单词列表,频繁使用较慢 |
| 命令行工具(openssl rand、pwgen) | 开发环境中的脚本化生成 | 无图形界面,需要终端访问,无强度可视化 |
| xkcd 风格方法 | 手动创建易记词组密码 | 依赖人类随机性,可预测且有偏差 |
| 在线密码生成器 | 无需安装快速生成 | 隐私风险——密码通过网络传输 |
对于大多数需要即时、安全、私密的密码生成,且同时支持随机和词组模式灵活性的用户,Toollect 密码生成器提供了功能、安全和便利的最佳平衡。
疑难解答
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 密码包含模糊字符 | 未勾选排除模糊选项 | 启用「排除模糊字符」以移除易混淆的字符 |
| 词组使用非预期单词 | 自定义单词字段为空,默认使用 EFF 单词列表 | 工具默认使用英文 EFF 列表。在自定义单词字段填入你自己的单词 |
| 短密码显示「弱」 | 密码长度低于 10 字符 | 增加长度滑块,或在词组模式中增加单词数 |
| 复制按钮无效 | 浏览器剪贴板权限 | 确保浏览器允许剪贴板访问。可使用 Ctrl+C(Cmd+C)手动复制 |
| 无法在输出字段输入 | 输出字段为只读设计 | 单击生成创建密码,然后使用复制按钮 |
| 密码被网站拒绝 | 网站有特定字符限制 | 检查网站的密码策略并调整字符集。尝试禁用符号 |
| 词组密码超过服务允许的最大长度 | 单词数或分隔符选择导致字符串过长 | 减少单词数,使用「无」分隔符,或切换到随机模式使用较短长度 |
| 工具无法离线工作 | 页面需要先在线加载 | 在有网络连接时加载页面。一旦加载完成,该会话期间可离线工作 |
技术规格
Toollect 密码生成器专为安全性、性能和广泛兼容性而设计。
性能基准
| 密码长度 | 生成时间 | 内存使用 |
|---|---|---|
| 16 字符 | < 1 ms | < 1 MB |
| 64 字符 | < 1 ms | < 1 MB |
| 128 字符 | < 2 ms | < 1 MB |
技术详情
- 随机数生成器:
crypto.getRandomValues()(Web Crypto API)——密码学安全,由操作系统熵源支持 - 单词列表:EFF 短单词列表 #1(1296 个单词),嵌入在应用程序代码中
- 洗牌算法:Fisher-Yates(无偏,O(n))
- 强度算法:基于熵值计算:随机密码熵值 = 长度 × log2(字符集大小)。词组密码熵值 = 单词数 × log2(1296)
- 强度阈值:弱 0-29,普通 30-49,良好 50-69,强 70-99,非常强 100+ 位
- 剪贴板 API:
navigator.clipboard.writeText()带视觉反馈 - 事件模型:按钮点击触发生成;滑块输入实时更新配置
浏览器兼容性
| 浏览器 | 最低版本 | 状态 |
|---|---|---|
| Google Chrome | 80+ | 完整支持 |
| Mozilla Firefox | 75+ | 完整支持 |
| Apple Safari | 13+ | 完整支持 |
| Microsoft Edge | 80+ | 完整支持 |
| Samsung Internet | 13+ | 完整支持 |
| Opera | 67+ | 完整支持 |
隐私与安全
- 零数据传输:所有密码生成在浏览器内存中完成
- 不使用 cookies、localStorage 或 sessionStorage
- 工具页面上没有分析或跟踪脚本
- 初始页面加载后可完全离线使用
- 无需注册、登录或 API 密钥
- 使用密码学安全随机数生成(非 Math.random())
功能特色
- 随机密码生成,可自定义长度(8-128)与字符集
- 词组密码模式,使用 EFF 单词列表生成好记又安全的密码
- 自定义单词支持 — 使用任何语言的单词生成词组密码
- 基于熵值计算的实时强度指示器
- 密码学安全随机生成(crypto.getRandomValues)
- 100% 客户端处理,不上传任何数据到服务器