跳到主要内容
FreeOnlineTools Go
简体中文
解决问题

密码安全性:如何生成、存储与审计强密码

作者:FreeOnlineTools Team · 更新日期:2026-08-28

快速解答

使用我们的密码生成器生成 16 个以上字符的随机密码,切勿重复使用它们,并将它们存储在密码管理器中。在服务器上,使用 bcrypt(工作因子 12+)、scrypt 或 Argon2id 进行哈希处理 — 切勿使用 MD5 或 SHA-256。通过 Have I Been Pwned 的 k-匿名 API 进行审计违规。切勿传输或记录明文密码。

介绍

大多数帐户被盗的原因是弱密码、重复使用的密码和存储不当的密码。本指南解决了四个具体问题:(1) 生成具有足够熵的密码以抵抗暴力破解,(2) 使用慢速 KDF 而不是快速哈希对密码进行哈希处理,(3) 避免跨服务重用,以及 (4) 审核泄露的凭据。每个解决方案都是可操作的并且有工具支持。

步步

  1. 生成高熵密码

    使用密码生成器创建一个包含大写字母、小写字母、数字和符号的 16 个以上字符的密码。熵 = log2(charsetSize^length);由 94 个符号组成的 16 个字符的字母表给出约 105 位,即使每秒猜测 10^12 次,也无法通过暴力破解。

  2. 切勿跨服务重复使用密码

    重复使用一个密码意味着一次泄露就会危及共享该密码的每个帐户。为每个服务生成唯一的密码并将其存储在密码管理器(Bitwarden、1Password、KeePassXC)中。主密码是您唯一需要记住的密码,请将其设置为长密码。

  3. 在服务器上使用慢速 KDF 对密码进行哈希处理

    切勿使用 MD5、SHA-1 或原始 SHA-256 存储密码 - 它们太快了,GPU 每秒可以尝试数十亿次。使用工作因子为 12+ 的 bcrypt、N=2^17 的 scrypt 或具有 64MB 内存的 Argon2id。这些 KDF 故意缓慢且内存困难,以抵御 GPU/ASIC 攻击。

  4. 用盐打败彩虹桌

    盐是每个密码的唯一随机值,在散列之前添加或组合。它确保相同的密码产生不同的哈希值,从而使预先计算的彩虹表毫无用处。 bcrypt 和 Argon2 自动生成并嵌入盐——不要自己动手。

  5. 审核密码泄露情况

    在接受密码之前,请使用 k-匿名协议对照 Have I Been Pwned API 进行检查:仅发送 SHA-1 哈希的前 5 个字符,接收匹配后缀的列表,并在本地进行比较。这永远不会泄露 API 的完整密码。

示例

生成的强密码(16 个字符,~105 位熵)

输入: 长度 16,所有字符类别

输出: K9$mP2#vL7@nQ4!x(随机、唯一、从未重复使用)

主密码的密码(好记+强)

输入: 4个随机常用词

输出: correct-horse-battery-staple (~44 bits but easy to remember; use 5-6 words for ~60+ bits)

密码的 bcrypt 哈希值(工作因子 12)

输入: 密码 123 与 bcrypt 成本 12

输出: $2b$12$N9qo8uLOickgx2ZMRZoMy.MrqKQp7vqB4V1e5sTq7vqB4V1e5sTq(盐+成本+嵌入哈希)

常见问题

  • 使用 MD5 或 SHA-256 进行密码散列:两者都是快速散列。现代 GPU 的计算速度约为 100 亿次 SHA-256/s,可在几分钟内破解 8 个字符的密码。始终使用 bcrypt、scrypt 或 Argon2id。
  • 跨站点重复使用一个密码:最薄弱的站点的漏洞会泄露每个站点的密码。生成唯一的密码并将其存储在管理器中。
  • 以明文或可逆加密方式存储密码:如果数据库泄漏,每个帐户都会立即受到损害。散列是单向且不可逆的——即使服务器也无法恢复原始数据。
  • bcrypt 的工作因素较低:2002 年成本 4 还可以;到 2026 年,使用成本将达到 12+(大约 4096 次迭代)。登录时重新哈希以升级旧哈希,而无需强制重置密码。

提示

  • 高价值帐户的目标是至少 100 位熵,即 94 个符号字母表中的 16 个随机字符,或 6 个随机骰子单词。
  • 为每个支持它的帐户启用双因素身份验证(TOTP 或硬件密钥)——如果密码被钓鱼,仅使用强密码是不够的。
  • 当密码将被大声读出或从打印中键入时,请使用我们的密码生成器的“排除模糊字符”选项(0/O、1/l/I)。
  • 仅在确认违规后轮换密码,而不是按固定时间表轮换密码——强制轮换会促使用户采用可预测的模式,例如 Spring2026!。

相关工具

相关指南

参考