随机密码生成器 在线:一键生成强密码,本地运行不上传服务器
发布时间:2026-11-01 | 浏览:1
拖动滑块设定长度,勾选需要的字符类型,点 重新生成 ,再点 复制 。就这三步。
如果某个网站不接受符号,取消勾选 符号 ;如果密码要手抄或者念给别人,勾选 排除易混淆字符 ,生成结果里就不会出现 0 与 O、1 与 l 与 I 这几组容易看错的字符。
判断密码强度只有一个靠谱指标: 熵 ,单位是位(bit)。它衡量的是「要把所有可能性试一遍需要多少次尝试」。熵每增加 1 位,破解难度翻一倍。
下表按每秒 10 12 次猜测估算——这是现代 GPU 集群攻击快速哈希的量级:
这张表里最该记住的一行是 第四行到第五行之间的落差 :8 位全字符只撑 45 分钟,12 位就要 4,500 年。 多四个字符,难度涨了约五千万倍。
邮箱、网银、主力社交账号:16 位 ——邮箱尤其重要,因为所有其他账号都靠它找回
加密钱包、服务器:20 位以上
需要说明的是,上表算的是最坏情况:网站把密码存成了快速哈希。如果对方用了加盐的慢哈希(bcrypt、Argon2 这类),实际耗时还要长几个数量级。但你无法知道某个网站用了哪种,所以按最坏情况准备才是对的。
「必须包含大小写、数字和特殊符号」这条规则流传了二十年,但它解决的问题和大多数人以为的不一样。
后者更简单、更好记、更好输入—— 而且更安全 。
复杂度规则真正的作用,是阻止人们用 password123 这种东西。一旦密码是随机生成的, 长度就是唯一还在起作用的变量 。所以这个工具默认 16 位,而不是默认堆满符号。
搜索「密码生成器」会出来很多网站。它们之中有一部分,是把参数发到服务器、由服务器生成后再返回给你。
这意味着你的新密码在生成的那一刻,就已经离开过你的电脑,经过了别人的服务器。对方有没有记录,你无从验证。
密码由浏览器内置的 crypto.getRandomValues() 生成,这是浏览器提供的 加密级随机数接口 ,不是普通的 Math.random()
全过程在您的设备上完成, 没有任何网络请求
页面不保存、不记录、不统计生成过的任何密码
想验证这一点不难:断开网络连接,这个页面照样能生成密码。能离线工作的工具,就不可能把数据传给谁。
关于 Math.random 的那点区别
很多简易生成器用的是 Math.random() 。它的设计目标是「看起来随机」,适合做动画和游戏, 但它的输出序列是可以被推算的 ——观察到足够多的输出之后,就能预测接下来会出现什么。 crypto.getRandomValues() 则由操作系统的加密随机源提供,专门用于安全场景。
本工具还处理了一个细节:生成随机数时采用 拒绝采样 ,避免简单取模带来的分布偏差。否则字符池里排在前面的字符会被略微多选中,密码的实际熵会低于理论值。
一个 16 位的随机密码没人记得住——这是设计使然,也带来一个新问题。
用密码管理器。 浏览器自带的就够用,专门的工具更好。核心原则是:你只需要记住一个主密码,其余全部交给它
每个网站一个密码。 随机密码的价值在于隔离:某一个网站被拖库,其他账号不受牵连。重复使用会让这个优势归零
给邮箱和密码管理器开启两步验证。 这两个是总钥匙
不要存在记事本或 Excel 里。 明文文件是最容易被忘记、也最容易被整个拷走的东西
不要通过微信或邮件发送密码。 这两条链路都会留下长期可检索的副本
密码在您的浏览器本地生成,不发送到任何服务器,也不被记录。可以断网后使用,以此验证。
理论上存在可能,实际上可以忽略。16 位全字符密码有约 2 102 种组合,这个数字远大于地球上所有沙粒的总数。
浏览器的 crypto.getRandomValues() ,由操作系统提供的加密级随机源,而非 Math.random() 。
为什么有的网站不接受我生成的密码?
部分网站限制长度上限或禁止某些符号。遇到这种情况,先取消勾选 符号 ,再适当缩短长度。这是网站的限制,不是密码的问题。
一般网站 12 位,邮箱和网银建议 16 位,加密钱包等高价值账号 20 位以上。
0 和 O、1 和 l 和 I 在很多字体下几乎一样。如果密码需要手写、口述或者在另一台设备上手动输入,排除它们能省掉很多麻烦。代价是字符池变小、熵略微下降,适当增加长度即可补回。
可以,每点一次 重新生成 就是一个全新的密码。复制好当前这个之后再点下一次即可。
截图快捷键大全:电脑截屏快捷键7种方法
电脑快捷键大全:Windows常用快捷键分类速查表