批量密码生成器,免费

一次性生成多个强密码。自定义数量、长度和字符集,然后下载为文本文件。

密码在您的设备上本地生成
点击「生成密码」开始

    批量密码生成

    此工具一次性生成多个密码学强度的密码。适合为团队入职、批量账户创建或管理密码清单做准备。每个密码都通过浏览器内置的随机生成器产生。

    强度等级

    常见问题

    这些密码真的是随机的吗?

    是的。密码使用 window.crypto.getRandomValues() 生成,它提供适用于安全场景的密码学安全随机值。

    可以一次生成超过 100 个密码吗?

    为避免浏览器变慢,工具将一次生成限制为 100 个。如需更多,请分批生成。

    如何存储下载的文件?

    将 .txt 文件保存在安全位置,最好加密。切勿将其提交到代码仓库或通过不安全渠道分享。分发给用户后请删除。

    好的随机数从何而来

    计算机从设计上就是确定性的。给定相同的输入和相同的代码,它每次产生相同的输出。这正是运行电子表格的CPU所需要的特性,也恰恰是密码生成器所不能有的特性。如果攻击者能够重现生成器输出的值序列,他们就能重现它所有生成过的密码。

    因此,生成器会收集「熵」(来自程序外部的不可预测的物理信号),并用它来为一种称为CSPRNG(密码学安全伪随机数生成器)的算法播种。「伪」字是如实的:比特由算法产生,而非物理过程。「密码学安全」意味着即使攻击者看到了过去大量输出,也无法比随机猜测更好地预测下一个字节。Theodore Ts'o于1994年在Linux内核中实现了/dev/random,macOS、各BSD系统、Solaris和Windows(通过BCryptGenRandom)也都采用了等效接口。其底层将所有可能的物理抖动来源(磁盘寻道时序、网络数据包到达、键鼠输入、硬件中断,以及支持的Intel CPU上的RDRAND)通过密码学哈希混合,并持续重新播种。

    在浏览器中,W3C的Web Cryptography API通过window.crypto.getRandomValues(typedArray)提供这一功能:将一个类型化数组传入,浏览器会用密码学强随机字节填充它。每次调用最多可获取65,536字节(本工具远低于此上限)。该API自2015年7月起已在Chrome、Firefox、Safari和Edge中全面基线支持:实际上不可能有用户使用缺乏该API的浏览器访问本工具。

    密码熵:实际数学

    密码「强度」在正式密码学意义上以熵的位数来衡量。随机生成密码的标准公式为:

    熵 = L × log₂(R)

    其中L是字符长度,R是字符池的大小。各字符集的每字符熵:

    数字94值得特别说明:ASCII代码32到126是可打印字符(共95个);去掉空格后剩下94个可见非空格字形(26个小写+26个大写+10个数字+32个标点/符号)。将具体数值代入公式:

    密码学界已确立三个阈值:80位为最低限(NIST直至2014年推荐的底线),使用完整94字符集约13个字符可达到;100位是ANSSI(法国的NSA等效机构)对保护加密系统密码的要求,约16个字符可达到;以及128位与AES-128的对称密钥强度相当,适用于密码库主密码,约20个字符可达到。

    重要警告:这套数学仅适用于随机生成的密码。如果密码由人工选择,其有效熵会低得多。攻击者并非按字母顺序枚举R^L个字符串,而是运行以泄露密码列表、字典词汇、常见替换(a→@、o→0、s→$)、键盘走位以及人类构造可记忆字符串的统计模型为基础的猜测程序。约瑟夫·博诺(Joseph Bonneau)2012年对7000万个匿名Yahoo密码语料库的研究(IEEE安全与隐私研讨会)发现,用户选择的密码「对在线扫荡攻击的安全性不足10位,对最优离线字典攻击仅约20位」。二十位相当于一百万次猜测。现代GPU在微秒内即可完成。

    NIST SP 800-63B:2017年与2025年的变化

    大约三十年来,北美密码安全政策源自1985年的一份NIST出版物,该出版物建议强制定期轮换、混合字符类别和较短的最小长度。2003年后续文件的作者比尔·伯尔(Bill Burr)将「大写+小写+数字+符号,每90天更换」规则正式确立,他于2017年公开撤回这一规则,向华尔街日报表示「我当时做的很多事,我现在都后悔」。NIST同年正式确认了这一转变。

    NIST SP 800-63B第3修订版(2017年6月)做出了两项里程碑式改变。第5.1.1.2节规定:「验证方不应要求任意更改记忆密钥(例如,定期更换)」,因为强制轮换导致用户选择更弱、更可预测的密码。同一节还规定:「验证方不应对记忆密钥施加其他组合规则(例如,要求混合不同字符类型)」,因为强制要求数字和符号会把用户推向Password1!而非更长的口令。第3修订版将订阅者选择的密码最小长度设为8个字符,要求验证方接受最多64个字符,强制将新密码与泄露黑名单进行核对,并明确要求允许使用密码管理器和剪贴板粘贴。

    NIST SP 800-63B第4修订版(2025年7月31日最终确定)提高了标准:单因素密码现在要求最少15个字符(「验证方和CSP应要求用作单因素认证机制的密码长度至少为15个字符」)。多因素密码保持8个字符的要求,因为第二因素承担了安全权重。组合规则仍被禁止,措辞从第3修订版的「不应」升级为第4修订版的「不得」,从建议升级为硬性要求。除非有被攻破的证据,否则仍不鼓励轮换。

    Absolutool工具默认16个字符包含全部四类字符,提供约104位熵,轻松满足第4修订版15字符的最低要求和80位对称等效阈值。工具的最大128字符恰好是NIST要求验证方必须接受的最大长度的两倍,实际上不存在生成的密码对服务器来说过长的情况。

    RockYou:至今仍困扰2026年的那场灾难

    2009年12月,社交游戏公司RockYou遭受典型的SQL注入攻击而泄露。该事件暴露了超过3200万个用户账户,包括这些账户的明文密码:RockYou以未加密的方式存储密码。该公司当时的密码策略仅要求五个字符且禁止特殊字符,这进一步加剧了漏洞的危害。

    这个泄露文件很快被称为rockyou.txt,公开发布后成为世界上引用次数最多的单一密码词表。它默认随Kali Linux一起发布供渗透测试人员使用;地球上每一款字典攻击工具都会比对它;商业凭证填充服务将其作为基准。十六年后,攻击者仍在用2009年泄露中首次出现的密码获取活跃账户。由此得出的教训:服务器永远不应看到明文密码(本工具在客户端生成,服务器完全看不到);存储的密码应使用慢速、加盐、内存硬化函数(如Argon2id或bcrypt)而非快速哈希(如MD5或无盐SHA-1)进行哈希;每个站点使用唯一密码是抵御过去十年主导性泄露攻击中凭证重放攻击的唯一防线。

    Have I Been Pwned与泄露数据库

    由Microsoft区域总监特洛伊·亨特(Troy Hunt)运营的Have I Been Pwned(HIBP)已成为「该密码是否出现在泄露事件中?」这一问题的权威标准来源。Hunt于2013年推出HIBP,作为泄露电子邮件地址的可搜索索引;后来他添加了Pwned Passwords语料库,一份按SHA-1哈希索引的公开泄露密码完整列表。Pwned Passwords V2于2018年2月22日发布,并引入了数据集的k-匿名API(基于Cloudflare构建):客户端只发送SHA-1哈希的前五个字符;服务器返回所有以这五个字符开头的完整哈希及其观测次数;客户端在本地进行比对。密码(甚至其完整哈希)从不离开用户设备。

    对于批量生成器来说,其关联性体现在两方面。任何已在HIBP中出现的密码,从定义上说都不是有用的新密码,它将是凭证填充攻击者首先尝试的内容。由于本工具使用94字符字母表的完整CSPRNG随机性生成,新生成的16字符密码已出现在HIBP中的概率在实际意义上为零。(16字符ASCII符号密码的总数为94^16 ≈ 3.7 × 10³¹;HIBP包含约10⁹个已知密码;碰撞概率≈ 10⁻²²。)

    「X位熵」在实际破解时间上意味着什么

    使熵的位数具有具体意义的数字是「现代攻击者需要多长时间?」,答案完全取决于哈希算法。hashcat v6.2.6在单块Nvidia RTX 4090上的社区公开基准约为:NTLM哈希约3000亿次哈希/秒(微软的旧Windows哈希)以及bcrypt约每秒20万次哈希。这两者之间四个数量级的差距是关键所在:NTLM为速度而设计,bcrypt为缓慢而设计。

    广泛引用的Hive Systems密码表将基准转化为破解时间数字。2025年版本针对MD5哈希(速度接近NTLM)计算,在一块RTX 4090上暴力破解8字符密码(全字符集)需要约59分钟。相同的8字符密码对于bcrypt哈希,在同一硬件上需要约99年。四个数量级的差距意味着:「昨天泄露,午饭前破解完毕」与「昨天泄露,你的有生之年都等不到」之间的区别。

    最终用户控制密码长度和字符集。他们控制服务器用来存储密码的哈希算法。大多数运营良好的现代服务使用bcrypt、scrypt或Argon2id,都是故意设计得缓慢的。旧服务和遭受泄露的服务通常使用MD5或无盐SHA-1,这就是为什么旧泄露数据库可以以上述速度被破解。对于本工具生成的密码:16字符随机密码对bcrypt实际上永久安全,对MD5目前也相对安全;20字符密码对两者都已属过分充裕。不存在任何现实威胁模型下20个以上字符的CSPRNG输出是薄弱环节的情形。

    FIDO2、WebAuthn与通行密钥的过渡

    安全行业历史最长的预言是密码将会消亡。自2019年起,它终于有了可信的替代方案:通行密钥(passkeys),即在FIDO2/WebAuthn标准下签发的凭据的消费者营销名称。WebAuthn Level 12019年3月4日成为W3C推荐标准;Level 2于2021年4月8日跟进。其密码学模型是非对称的:用户注册时,认证器生成一对公私钥,将公钥发送至服务器,并将私钥存储在本地安全硬件中。认证使用私钥签名的挑战-响应方式。服务器从不见到秘密,这意味着服务端泄露不会暴露登录凭证。

    各大平台的推出集中于2022-2023年:苹果于2022年6月6日在WWDC上展示了通行密钥,并于2022年9月随iOS 16、iPadOS 16和macOS Ventura公开发布,通过端对端加密的iCloud钥匙串同步。谷歌于2022年10月12日宣布对Android和Chrome的通行密钥支持;Chrome稳定版支持于2022年12月的Chrome 108到来,通过Google密码管理器同步。微软于2023年9月21日宣布在Windows 11中提供通行密钥管理,与Windows Hello集成。

    通行密钥解决了最棘手的密码失效类别(钓鱼、凭证填充、服务端泄露),但尚未消除密码,原因在于:许多网站和大多数遗留系统仍然需要密码;通行密钥与设备或同步生态系统绑定(没有苹果、谷歌或微软账户的用户需要替代方案);无界面系统(物联网设备、服务端服务账户、批量入职场景)在注册步骤无法依赖生物识别认证器;许多企业密码策略、银行系统和政府门户仍强制要求密码。批量密码生成恰好属于后两类情形:系统管理员为50个新账户配置密码时,无法在账户存在之前让每位未来用户注册通行密钥。

    为什么客户端生成尤为重要

    设想一个竞品工具将用户请求POST发送至服务器,服务器运行随机生成器,并以JSON格式返回列表。即使一切如广告所述正常运作,以下各方也可以以明文形式看到生成的密码:处理请求时服务器的进程内存;服务器的请求日志(若日志记录不谨慎);服务器接入的任何APM或错误追踪服务;TLS终止反向代理(Cloudflare、AWS负载均衡器、nginx);服务器上运行的任何调试工具;以及任何未来获得上述日志访问权限的攻击者。RockYou模式及其一切后果均适用。

    当生成通过用户浏览器中的window.crypto.getRandomValues()进行时,上述情况均不适用。字节在用户计算机上的浏览器进程内产生,代码可供用户审计(页面源代码可查看)。它们从不经过网络。Absolutool的服务器从不见到它们,从不记录它们,也无法在未来的泄露事件中泄露它们,因为服务器从未持有过它们。能看到生成密码的唯一方是用户、能访问用户浏览器会话的人(通常只有用户本人),以及在页面上运行的任何浏览器扩展。这与密码管理器本地生成器的安全模型相同,比任何从服务器返回生成密码的网络服务都更安全。

    Mirai 2016:物联网默认密码的反面教材

    「让每台设备使用相同默认密码」的典型反面教材是Mirai僵尸网络。Mirai利用约62个硬编码的厂商默认用户名/密码组合admin/adminroot/rootroot/xc3511root/vizxv)在2016年下半年感染了数十万台IP摄像头、DVR和家用路由器,并于2016年10月21日用它们攻击了主要DNS提供商Dyn,短暂瘫痪了Twitter、Reddit、Netflix和GitHub。批量密码生成器正是这种情况的正确替代方案:在生产线上为每台设备生成唯一的强默认密码,打印在贴纸上,随箱附送。

    更多问题

    为什么NIST推荐长度而非复杂度?

    因为强制复杂度(一个数字、一个符号、一个大写字母)会把用户推向攻击者已经建模的可预测模式。Password1!在数学上比password拥有更多熵,但实际上每个攻击者的词表都从这里开始。来自CSPRNG的20字符全小写字符串有约94位熵,任何词表都无法猜测,因为它不符合任何词表。NIST SP 800-63B第4修订版(2025年7月)将禁止组合规则定为硬性「不得」要求。

    我应该使用口令短语吗?

    对于需要记忆的密码,是的,这正是xkcd #936(2011年8月10日)的论点。Diceware方法(Arnold Reinhold,1995年)从7,776词列表中每个单词提供12.9位熵;六个单词≈77.5位是现代推荐。EFF于2016年7月发布了更新的Diceware兼容词表。但对于本工具服务的批量配置用例(首次登录时会更改的临时令牌),随机ASCII才是正确的选择,因为用户无需手动输入。

    排除模糊字符是安全上的权衡吗?

    是的,从技术上讲,去掉il1LO0o会将字母表从94个缩减到87个,将每字符熵从6.55位降至6.44位。在16个字符时,这是103.0位而非104.8位,完全无关紧要。当人类需要朗读密码或从打印纸上抄写时,这一权衡是值得的,而这正是本工具服务的批量分发场景。

    分发生成列表最安全的方式是什么?

    将生成的列表视为一次性工件。通过预先商定的渠道分发(使用PGP/GPG的加密电子邮件、安全文件传输、导入密码管理器,高风险场景下面对面的实体传递)。配置系统以首次登录时强制更改密码。分发后删除文件。切勿通过电子邮件发送明文列表,切勿提交到版本控制,切勿粘贴到聊天中。生成的密码作为一次性令牌,其价值在于初始交接的密码学随机性,而非长期保留。

    相关工具