gpt4 book ai didi

java - UUID.randomUUID() 是否适合用作一次性密码?

转载 作者:IT老高 更新时间:2023-10-28 20:29:28 26 4
gpt4 key购买 nike

作为 previous discussed ,确认电子邮件应该有一个唯一的,(实际上)不可猜测的代码——本质上是一个 one-time password --在确认链接中。

The UUID.randomUUID() docs说:

The UUID is generated using a cryptographically strong pseudo random number generator.

这是否意味着正确实现的 JVM 中的 UUID 随机生成器适合用作唯一的(实际上)不可猜测的 OTP?

最佳答案

如果您阅读 RFC它定义了 UUID,并且从 API 文档链接到,您会看到并非 UUID 的所有位实际上都是随机的(“变体”和“版本”不是随机的)。因此,如果正确实现,类型 4 UUID(您打算使用的那种)应该具有 122 位(对于此实现而言是安全的)随机信息,总大小为 128 位。

所以是的,它与来自“安全”生成器的 122 位随机数一样有效。 但是一个较短的值可能包含足够的随机性,并且对用户来说可能更容易(也许我是唯一仍然在终端中阅读电子邮件的老式人,但确认 URL 会跨行很烦人……)。

关于java - UUID.randomUUID() 是否适合用作一次性密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11026061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com