使用 UUID v4 生成会话 ID 是否安全?
Is it safe to use UUID v4 to generate session IDs?
使用 UUID v4 生成会话 ID 安全吗?
生成两个 UUID v4 并将它们连接成一个更长的字符串是否会使它更安全地用作网络应用程序的会话 ID?
一般不会。虽然字符串本身足够长,但 UUID 规范不要求实现生成密码随机的字符串。
具体实现可能使其更加随机,因此您使用的库可能足够好,但它不需要是有效的 UUID。因此,拥有一个有效的 UUID 并不是 proof/guarantee 它是从足够随机的来源生成的。
即使您的特定 UUID 库确实创建了密码学上不可猜测的字符串,使用它可能仍然是不可取的,因为它可能会向未来的开发人员发出信号:“UUID 可以安全地用于机密”,因此它可以创建即使最初 UUID 是安全的,以后也会有风险。
我的建议是简单地使用 crypto.randomBytes
使用 UUID v4 生成会话 ID 安全吗?
生成两个 UUID v4 并将它们连接成一个更长的字符串是否会使它更安全地用作网络应用程序的会话 ID?
一般不会。虽然字符串本身足够长,但 UUID 规范不要求实现生成密码随机的字符串。
具体实现可能使其更加随机,因此您使用的库可能足够好,但它不需要是有效的 UUID。因此,拥有一个有效的 UUID 并不是 proof/guarantee 它是从足够随机的来源生成的。
即使您的特定 UUID 库确实创建了密码学上不可猜测的字符串,使用它可能仍然是不可取的,因为它可能会向未来的开发人员发出信号:“UUID 可以安全地用于机密”,因此它可以创建即使最初 UUID 是安全的,以后也会有风险。
我的建议是简单地使用 crypto.randomBytes