随机密码是按设定的长度和字符集,由密码学安全的随机数逐位抽取字符得到的口令。下面说明常见的使用场景。
随机密码怎么用
- 注册新账号时设置初始密码
- 替换在泄露事件中暴露过的旧密码
- 为 Wi-Fi、路由器后台设置强口令
- 为数据库、服务器账号生成长口令
- 生成临时分享用的一次性口令
示例
输入:长度 8,字符集:大小写字母+数字(62 个字符)
生成结果:示例:uUFPYrli;熵约 47.6 位,组合数约 62^8 ≈ 2.18×10^14
说明:熵 = 8 × log2(62) ≈ 47.6 位;示例仅用于说明格式,请勿直接作为自己的密码。
工作原理
生成器先确定字符集(例如 62 个大小写字母和数字),再从安全随机源取得随机整数,把它映射为字符集中的一个下标,重复到指定长度。为了避免“取模偏差”,规范的实现会丢弃落在不能整除范围内的随机数再重取,这样每个字符被选中的概率完全相同。
与相关概念的区别
随机密码与“口令短语”(多个随机单词组成,如 correct-horse-battery-staple)各有优点:随机字符密码同等长度下熵更高,口令短语更容易记忆和输入。从常用词表随机抽 5–6 个词,也能达到 60–80 位的熵。
Python 示例
下面是用 Python 实现的写法,可以按需要修改:
import secrets, string
chars = string.ascii_letters + string.digits + '!@#$%^&*'
pw = ''.join(secrets.choice(chars) for _ in range(16))
print(pw)
本站的密码生成器工具可以直接在网页中使用,无需安装,适合快速得到和核对结果。
常见问题
【16 位随机密码安全吗?】大小写字母加数字的 16 位随机密码约 95 位熵,在当前算力下暴力破解不可行,前提是不重复使用。
【为什么不建议用 Math.random?】Math.random 不是密码学安全的随机数,输出在理论上可被预测,生成密码应使用 crypto.getRandomValues。
【多长时间换一次密码?】没有泄露迹象时不必定期更换;一旦网站发生泄露或发现异常登录,就立即更换。
文中示例可以在本站对应工具中核对。生成和保存密码等敏感信息时,请注意保护隐私。