悦省yueser.com

← 全部指南

随机密码生成指南:长度优先,随机性靠加密接口

密码的强度主要来自长度和真随机,不来自「看起来复杂」。这个工具在浏览器里生成,不联网、不上传,但也不会替你记住。

打开工具:随机密码生成器

什么时候需要它

注册新服务、初始化数据库账号、给服务器设一个临时密码、给同事开一个只读账号——这些场合都不该由人想一个「好记的」。人想的密码,模式高度集中,字典攻击最先命中,越是「有规律好记」越危险。

批量建测试账号、给每个环境配不同的密钥,也需要快速拿到互不相同的值。生成一次、存进密码管理器、之后只从管理器里取,是目前最省心的流程,也避免了「同一个密码用三处」的连锁风险。

随机数来自哪里,强度怎么算

工具调用浏览器的 crypto.getRandomValues 取随机值,这是操作系统提供的加密随机源;Math.random 则是可预测的伪随机,绝不能用它生成密码、令牌或密钥。这一点决定了「看起来随机」和「真的随机」的区别。

默认字符集排除了 0、O、1、l、I 这类易混字符,剩 56 个可用字符,16 位大约是 93 bit 的熵;勾选符号后字符集变为 69 个,同样 16 位约 98 bit。想更强,优先加长度:每多一位,强度乘上字符集大小。

边界:生成只是第一步

生成过程完全在本地,关掉页面就没了,工具不保存也不上传。代价是它也不会替你记住——请立刻存进密码管理器。用聊天工具发给同事、贴在工单里,等于公开,事后很难收回。

它不能防止钓鱼、撞库或服务端泄露,也不解决「一个密码到处用」的问题。另外,少数老系统限制长度或禁用符号,遇到这种情况要按对方规则降级,并尽量用更长的长度补偿,别为了凑符号把长度砍短。

常见问题

为什么没有 0、O、1、l、I?

这些字符在不同字体下几乎分不清,手抄或电话口述时最容易出错。默认排除它们,安全性损失极小(字符集仍有 56 个),换来的是更低的抄写错误率。

多长才够用?

一般账号 16 位起步,重要账号 20 位以上;长度带来的收益远大于换更复杂的字符集。真正决定安全的是「不重复」和「存进管理器」,而不是看起来有多乱。

生成的密码会被上传吗?

不会。随机数的取得和字符拼接都在浏览器里完成,没有网络请求,整个过程不依赖服务器。可以断网使用,也可以打开开发者工具确认没有任何请求发出。

相关工具:随机密码生成器