跳到主要内容
LeedyBox
支持我们

强密码与 UUID

随机值承担着两种不同的任务:密码必须难以猜测,而 UUID 必须唯一。本指南说明什么样的密码才算强、熵的数值意味着什么,以及 UUID v4 和 v7 有何不同。

长度与随机性

如果攻击者需要猜测的次数多到无法找到它,这个密码就是强密码。最重要的有两点:它有多长,以及它是如何选出来的。每增加一个字符,可能的组合数就会成倍增加,因此增加长度通常比多加一种符号类型更有效。

密码的选取方式同样重要。人们倾向于选择单词、名字、日期以及“P@ssw0rd”这样可预测的替换,而攻击者会最先尝试这些模式。由安全随机源生成的密码可以避开这些模式。LeedyBox 生成器使用浏览器的 Web Crypto 随机数生成器,而不是并非为安全目的设计的 Math.random()。

本指南提供的是一般信息,而非专业的安全建议。请遵循您所在组织或所注册服务的要求。

熵的位数意味着什么

熵以位(bit)为单位,用来估计猜中一个随机密码需要多少次尝试。对于从 N 个可能字符中均匀随机抽取、长度为 L 的密码,熵为 L × log2(N)。每增加一位,搜索空间就翻一倍。

字符集 每个字符的位数 16 个随机字符
数字(10) 约 3.3 约 53 位
小写字母(26) 约 4.7 约 75 位
大小写字母和数字(62) 约 6.0 约 95 位
可打印 ASCII 字符(94) 约 6.6 约 105 位

这一估计有其局限。只有当每个字符都是随机选取时,它才有意义。您自己想出的密码,例如“Summer2026!”,按照这个公式看起来位数很多,实际上却容易猜得多。熵也无法说明服务如何存储密码、密码是否被重复使用,或者是否已通过网络钓鱼被窃取。

密码管理器与唯一密码

随机密码难以记住,这正是密码管理器的用武之地:它会为每个网站生成、存储并自动填写不同的密码。在每个地方都使用唯一的密码很重要,因为数据泄露确实会发生,而重复使用的密码会让攻击者用同样的登录信息尝试其他服务。对于少数需要记住的密码(例如密码管理器本身的主密码),常见的做法是使用由几个随机选取的单词组成的长密码短语。

双重身份验证

即使是强密码,也可能通过网络钓鱼或恶意软件被盗。双重身份验证(2FA)会增加第二道检查,例如身份验证器应用的验证码、硬件安全密钥或通行密钥(passkey)。为电子邮件、银行和其他重要账户开启它,可以减轻密码被盗造成的损害。请将恢复码保存在安全的地方。

UUID v4 与 UUID v7

UUID(通用唯一标识符)是一个 128 位的值,写成 36 个字符,例如 550e8400-e29b-41d4-a716-446655440000。第二个连字符后面的那一位数字表示版本。

  • UUID v4 基本上是随机的(128 位中有 122 位随机)。它不会透露任何关于创建时间或地点的信息,在实际应用中,两个 UUID 发生冲突的概率可以忽略不计。
  • UUID v7 定义于 RFC 9562,以毫秒级 Unix 时间戳开头,后面跟随机位。后创建的值排序在先创建的值之后,因此与 v4 相比,可以让数据库索引更高效。代价是任何看到 v7 UUID 的人都能大致读出它的创建时间。

LeedyBox 工具可以生成这两个版本,其 UUID 检查器还可以分析您粘贴的 UUID。

UUID 是标识符,而不是秘密

UUID 的设计目标是唯一,而不是保密。许多 UUID 会出现在 URL、日志和 API 响应中,而 v7 UUID 还带有其创建时间。不要单独将 UUID 用作密码、API 密钥或密码重置令牌;请使用安全生成器生成的专用随机令牌,并配合适当的访问检查。

常见问题

随机密码应该多长?

没有唯一的答案。如上表所示,从混合字符集中随机选取 16 个字符,熵大约为 95 到 105 位,越长越强。如果您所在组织或服务规定的最低要求更高,请遵循该要求。

数据库键应该使用 UUID v4 还是 v7?

由于 v7 按时间排序,常被选作键。如果不希望从标识符中看出创建时间,请选择 v4。

生成的密码会被发送到任何地方吗?

LeedyBox 生成器使用 Web Crypto 在您的浏览器中生成值,因此它们是在您的设备上产生的。