【发布时间】:2021-10-16 22:04:30
【问题描述】:
使用 UUID v4 生成会话 ID 是否安全?
生成两个 UUID v4 并将它们连接起来以获得更长的字符串是否可以更安全地用作 Web 应用程序的会话 ID?
【问题讨论】:
标签: node.js http session-cookies uuid
使用 UUID v4 生成会话 ID 是否安全?
生成两个 UUID v4 并将它们连接起来以获得更长的字符串是否可以更安全地用作 Web 应用程序的会话 ID?
【问题讨论】:
标签: node.js http session-cookies uuid
一般来说,不会。虽然字符串本身足够长,但 UUID 规范不需要实现来生成加密随机的字符串。
特定实现可能使其更加随机,因此您使用的库可能足够好,但它不需要是有效的 UUID。因此,拥有有效的 UUID 并不能证明/保证它是从足够随机的来源生成的。
即使您的特定 UUID 库确实创建了密码学上无法猜测的字符串,但仍可能不希望使用它,因为它可能向未来的开发人员发出信号:“UUID 可以安全地用于机密”,因此以后可能会产生风险即使最初 UUID 是安全的。
我的建议是简单地使用crypto.randomBytes
【讨论】: