我见过有人使用 UUID 来生成身份验证令牌。然而,在RFC 4122 http://www.ietf.org/rfc/rfc4122.txt据称
不要假设 UUID 很难猜测;不应该使用它们
作为安全功能(仅拥有即可授予的标识符
访问),例如。
我想知道 Java 和 .NET 中使用什么算法来生成 SessionId/AuthenticationToken。在具有高于平均安全需求的应用程序中,UUID 是否确实不适合这些目的?
UUID
生成是随机的,但是具有坏熵的随机意味着你最终会很容易猜测UUID
s。如果您使用好的随机数生成器,您可以生成UUID
可用于会话。然而,问题在于UUID
没有内置的重播预防、篡改、固定等功能,您必须自己处理这些问题(请阅读:UUID 本身不应被视为有效的会话 ID)。也就是说,这里有一个很好的片段,说明如何生成安全的UUID
using python
:
python中的唯一会话ID https://stackoverflow.com/questions/817882/unique-session-id-in-python/6092448#6092448
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)