如何让Javascript客户端创建一个安全的UUID

How to have a Javascript client create a secure UUID?

本文关键字:一个 安全 UUID Javascript 客户端 创建      更新时间:2023-09-26

Javascript客户端是否可以创建一个不能伪造的UUID?

例如,假设在JavaScript中创建GUID:UUID中的一个解决方案?用于生成UUID并向服务器发送带有UUID的创建请求。服务器是否可以检查UUID是否确实是由Javascript函数创建的,而不是由其他函数创建的?

一种想法是使用校验和,但UUID生成和校验和代码对"黑客"来说是可见的。他们可以简单地修改Javascript函数,然后添加校验和。

那么,这个问题有什么好的解决方案吗?

您不应该关心是谁创建了UUID。服务器应该只检查客户端发送的UUID是否符合UUID格式,也许还应该检查是否已经使用了相同的UUID(这取决于您的需求)。

除非您的UUID值被用作机密(例如激活号)。在这种情况下,不应该在客户端生成值,服务器应该跟踪它生成的值。

您可以进行一些基本的健全性检查,如长度或格式,但您实际要问的是"给定一个数字,我可以检查它是由特定的随机数生成器生成的吗?"。如果随机数生成器真的是随机的,那么答案必须是"否",因为如果我可以很容易地从答案回溯到函数,那么它就不是很随机。

相关文章: