密码强度检测:你的密码安全吗
"123456"、"password"、生日电话——这些密码 1 秒就被破解。LinkedIn、CSDN 几亿账户泄露事件中,多数密码 1 分钟内被攻破。本文教你检测密码强度,生成强密码。
52tool 密码强度检测器
工具地址:密码强度检测
功能
- 实时检测密码强度
- 显示熵值(信息论强度)
- 显示预估破解时间
- 指出密码弱点
- 浏览器端处理,密码不上传
实战 1:检测弱密码
输入:
密码:123456
输出:
强度:极弱
熵值:19.5 bits
预估破解时间:< 1 秒
弱点:长度太短、纯数字、常见密码
实战 2:检测中强密码
输入:
密码:Hello@2026
输出:
强度:中等
熵值:53.7 bits
预估破解时间:2 个月
弱点:含字典单词(Hello、2026)
实战 3:检测强密码
输入:
密码:X7#kP9mQv!2nL8wR
输出:
强度:极强
熵值:104 bits
预估破解时间:10^20 年
弱点:无
密码强度衡量
1. 熵(Entropy)
密码强度的信息论衡量:
熵 = log2(字符集大小) × 密码长度
- 数字(0-9):10 字符
- 小写字母:26
- 大写字母:26
- 符号:32
2. 熵值参考
| 熵值 | 强度 | 预估破解时间 |
| < 28 | 极弱 | < 1 分钟 |
| 28-35 | 弱 | 1 分钟 - 1 小时 |
| 35-59 | 中 | 1 小时 - 1 年 |
| 60-127 | 强 | 1 年 - 10^15 年 |
| ≥ 128 | 极强 | 宇宙寿命以上 |
3. 预估破解时间
假设攻击者每秒尝试 10^10 次(现代 GPU):
| 密码示例 | 熵 | 破解时间 |
| 123456 | 19.5 | < 1 秒 |
| abc123 | 22.6 | < 1 秒 |
| password | 37.6 | 几小时 |
| Hello2026 | 41.4 | 几天 |
| Tr0ub4dor&3 | 51.7 | 1 个月 |
| correcthorsebatterystaple | 76.5 | 10^7 年 |
| X7#kP9mQv!2nL8wR | 104 | 10^20 年 |
弱密码的特征
1. 太短
少于 8 位的密码几秒破解。
2. 纯数字
10^6 种可能,1 秒破解。
3. 纯小写字母
26^6 ≈ 3 亿种可能,几小时破解。
4. 字典单词
英文单词约 10 万个,攻击者用词典攻击几秒破解。
5. 个人信息
生日、电话、姓名、ID 号——社工库一查就有。
6. 顺序字符
123456、qwerty、abcdef——攻击词典首选。
7. 重复模式
aaaaaa、112233——熵极低。
8. 修改常见密码
P@ssw0rd、Passw0rd!——攻击词典已包含这些变形。
强密码的特征
1. 长度足够
- 至少 12 位(推荐 16+)
- 每多 1 位熵增加 6+ bits
2. 字符多样
- 大写 A-Z
- 小写 a-z
- 数字 0-9
- 符号 !@#$%^&*
3. 无规律
- 不是字典单词
- 不是个人信息
- 不含顺序字符
4. 独特
- 每个网站不同
- 不基于任何模式
52tool 密码生成器
工具地址:密码生成器
功能
- 自定义长度(8-64 位)
- 字符集选择
- 排除相似字符(0/O、1/I)
- 批量生成
- 浏览器端生成
实战 1:生成 16 位强密码
长度:16
字符集:大写 + 小写 + 数字 + 符号
输出:X7#kP9mQv!2nL8wR
实战 2:生成易记密码
模式:单词组合
长度:4 个单词
输出:correct-horse-battery-staple
参考 XKCD 936 漫画,4 个普通单词组合熵约 44 bits,比变形密码强。
实战 3:批量生成
数量:20
长度:16
输出:20 个强密码
各种密码策略对比
策略 1:复杂变形密码
Tr0ub4dor&3
- 优点:看起来复杂
- 缺点:难记,实际熵不高
策略 2:单词组合密码
correct horse battery staple
- 优点:易记,熵高
- 缺点:需要长字符
策略 3:密码管理器生成
X7#kP9mQv!2nL8wR
- 优点:熵极高
- 缺点:必须用密码管理器
策略 4: passphrase
我是张三-2026年-住在朝阳区
- 优点:易记
- 缺点:中文输入法兼容性问题
密码管理器
1Password
- 商业,跨平台
- 30 美元/年
- 安全性高
Bitwarden
- 开源,跨平台
- 免费,付费高级功能
- 推荐
KeePass
- 开源,本地存储
- 完全免费
- 需手动同步
LastPass
- 商业,跨平台
- 免费版功能受限
- 2022 年有泄露事件
浏览器内置
- Chrome、Edge、Firefox
- 免费,方便
- 安全性依赖系统
密码安全最佳实践
1. 每个网站不同密码
一个网站泄露不影响其他。
2. 用密码管理器
只记一个主密码,其他用管理器。
3. 开启双因素认证
即使密码泄露,攻击者也无法登录。
4. 定期更换关键密码
银行、邮箱每 3-6 个月换一次。
5. 不在公共 WiFi 输密码
可能被中间人攻击。
6. 不点不明链接
钓鱼网站会偷密码。
7. 检查密码泄露
haveibeenpwned.com
输入邮箱查是否在泄露库中。
实战场景
场景 1:检查现有密码
1. 打开 [52tool 密码强度检测](/tools/code/passwordStrength)
2. 输入当前密码
3. 查看熵值和破解时间
4. 弱密码立即更换
场景 2:生成新密码
1. 打开 [52tool 密码生成器](/tools/code/passwordGen)
2. 长度选 16 位
3. 字符集全选
4. 生成
5. 用密码管理器保存
场景 3:批量更换密码
1. 列出所有重要账户(邮箱、银行、社交媒体)
2. 逐一更换为生成的强密码
3. 用密码管理器记录
4. 开启双因素认证
场景 4:团队密码共享
1. 用密码管理器的共享功能(如 1Password 团队版)
2. 不要用明文共享(微信、邮件)
3. 离职时撤销访问
场景 5:检查密码是否泄露
1. 访问 haveibeenpwned.com
2. 输入邮箱
3. 查看泄露记录
4. 已泄露的密码立即更换
常见密码误区
误区 1:复杂变形更安全
P@ssw0rd1! 看起来复杂,但攻击词典已包含这些变形。实际熵不高。
误区 2:定期换密码一定安全
定期换密码如果还是弱密码,意义不大。换密码 + 强密码 + 不重复才有用。
误区 3:长密码一定强
"1234567890123456" 16 位但纯数字,1 秒破解。长度 + 复杂度都要。
误区 4:自己想的密码别人猜不到
人类密码生成有规律(如生日、姓名缩写),社工库能猜。
误区 5:浏览器记住密码不安全
现代浏览器加密存储,相对安全。但建议用专业密码管理器。
误区 6:双因素认证够了
双因素是补充,不是替代。弱密码 + 双因素仍可能被钓鱼。
编程实现
JavaScript(密码强度评估)
function passwordStrength(password) {
let charset = 0;
if (/[a-z]/.test(password)) charset += 26;
if (/[A-Z]/.test(password)) charset += 26;
if (/[0-9]/.test(password)) charset += 10;
if (/[^a-zA-Z0-9]/.test(password)) charset += 32;
const entropy = password.length * Math.log2(charset);
// 检查常见密码
const commonPasswords = ['123456', 'password', 'qwerty'];
if (commonPasswords.includes(password)) {
return { strength: '极弱', entropy: 0 };
}
return {
entropy,
strength: entropy < 28 ? '极弱' :
entropy < 60 ? '中等' : '强'
};
}
Python(zxcvbn 库)
# pip install zxcvbn
from zxcvbn import zxcvbn
result = zxcvbn('Tr0ub4dor&3')
print(result['score']) # 0-4
print(result['crack_times_seconds']['offline_slow_hashing_1e4_per_second'])
进阶技巧
技巧 1:用 passphrase
4-5 个随机单词组合:
purple-elephant-dancing-rainbow
易记且熵高(70+ bits)。
技巧 2:用主密码 + 域名派生
主密码:MyMaster#2026
域名:gmail.com
派生:MyMaster#2026 + gmail.com 的 SHA256 前 4 位
最终密码:MyMaster#2026a3b1
每个网站不同,但只记主密码。
技巧 3:硬件密钥
YubiKey、Google Titan 等硬件密钥:
- 物理设备生成一次性密码
- 防钓鱼
- 推荐重要账户使用
技巧 4:检查社工库
定期检查邮箱是否在泄露库:
- haveibeenpwned.com
- Firefox Monitor
- 国内: monitor.baidu.com
技巧 5:浏览器扩展
Password Manager 浏览器扩展自动填充,避免键盘输入被键盘记录器窃取。
与其他工具配合
密码强度 + 密码生成
工具:密码生成器
检测弱密码后用生成器换强密码。
密码强度 + UUID
工具:UUID 生成器
UUID 作密码(前 16 位)熵极高。
密码强度 + JWT
工具:JWT 解码器
JWT 的 secret 用强密码。
常见问题
Q: 工具会上传我的密码吗?
A: 52tool 密码强度检测器在浏览器端运行,密码不上传服务器。但为了安全,建议用测试密码验证工具,不要输入真实密码。
Q: 多长的密码够用?
A: 至少 12 位(混合字符)。重要账户 16 位以上。passphrase 用 4-5 个单词。
Q: 密码管理器被黑怎么办?
A: 1) 主密码用强密码;2) 开启双因素;3) 关注安全公告;4) 备份加密数据库。
Q: 双因素认证用哪种?
A: 优先顺序:硬件密钥 > TOTP(Google Authenticator)> SMS 短信。SMS 最易被 SIM 劫持。
Q: 怎么记住所有密码?
A: 用密码管理器,只记一个主密码。主密码用 passphrase 易记。
Q: 公司强制 30 天换密码怎么办?
A: 1) 用密码管理器记录历史密码;2) 用 passphrase + 序号(如 MyPass#2026-1);3) 不要用弱密码循环。
常见问题解答
Q: 怎么检测密码强度?
A: 1) 打开 52tool 密码强度检测;2) 输入密码;3) 查看熵值和破解时间;4) 熵 < 60 建议更换。
Q: 怎么生成强密码?
A: 用 52tool 密码生成器:1) 长度 16 位;2) 字符集全选;3) 生成;4) 用密码管理器保存。
Q: 我的密码是否泄露?
A: 访问 haveibeenpwned.com,输入邮箱查是否在泄露库。已泄露立即更换所有相关密码。
Q: 怎么记住复杂密码?
A: 1) 用密码管理器(Bitwarden、1Password);2) 用 passphrase(4-5 个单词组合);3) 不要用便签记。
Q: 双因素认证怎么开?
A: 在账户安全设置中:1) 选 TOTP(Google Authenticator、Authy);2) 扫描二维码;3) 保存恢复码;4) 验证。
Q: 浏览器记住密码安全吗?
A: 现代浏览器加密存储,相对安全。但建议用专业密码管理器(Bitwarden、1Password)跨浏览器跨设备同步。
总结
密码安全是账户安全的第一道防线:
- 检测密码 → 52tool 密码强度检测
- 生成密码 → 密码生成器
- 用密码管理器 → Bitwarden、1Password
- 开启双因素 → TOTP 或硬件密钥
记住:每个网站不同密码,长度比复杂度重要,passphrase 易记且安全。