用python uuid.uuid4制作的密钥进行邮件验证是一个好办法吗?[已关闭]

问题描述 投票:3回答:1

我想在我的网站上进行电子邮件验证。

我计划给用户发送一封电子邮件,并附上验证电子邮件地址的链接,其中的验证链接我计划包含一个密钥。

str(uuid.uuid4())

这个验证链接会在一段时间后失效。

我的问题是:这是个好办法吗?

我是否需要检查uuid.uuid4()是否是唯一的?uuid.uuid4()的值作为URL的一部分是否安全?

python web-applications uuid email-verification
1个回答
2
投票

我是否需要检查uuid.uuid4()是否是唯一的? uuid.uuid4()的值作为URL的一部分是否安全?

是的,这对于电子邮件验证来说应该足够了。

根据 Georg Schölly,

uuid4()会生成......一个随机的UUID。碰撞的几率是非常非常小的。小到你不应该担心这个问题。问题是,一个糟糕的随机数生成器使它更有可能发生碰撞。

然后,谁引用了 鲍勃-阿曼,

坦率地说,在一个没有恶意行为者的单一应用空间里,即使你每秒生成不少UUID,在你发生碰撞之前,地球上所有生命的灭绝早就发生了,即使在4版UUID上也是如此。

所以我想说,这对于邮件验证来说是安全可靠的。而且应该不需要确保UUID4是唯一的(但我在生成UUID时检查一下也无妨)。另外,只要UUID是十六进制编码的(其规范形式),作为URL的一部分是安全的。

© www.soinside.com 2019 - 2024. All rights reserved.