相当于javascript中python的uuid.uuid4().hex?

rap*_*lrk 6 javascript python security uuid cryptography

Python 具有创建十六进制 UUID 的功能,如下所示:

>>> import uuid
>>> uuid.uuid4().hex
'47be94c37e484e13ab04ed3c54a5b681'
Run Code Online (Sandbox Code Playgroud)
  • 是否可以在客户端 JavaScript 中使用相同的十六进制格式执行相同的操作?
  • 有没有办法“验证”客户端发回的 UUID?即防止或注意到恶意用户是否发回“1234abcdsh*t...”

一个解决方案的想法是在前端随机生成 32 个字符中的每一个,但我不知道十六进制 UUID 是否有什么特别之处,而且我也不确定是否有一个好的方法来验证发回的客户端有效值(而不是一系列 32 个 a)

编辑:刚刚意识到“十六进制”格式没有什么特别的,只是缺少破折号。将保留该项目符号,以防其他人感到困惑。

小智 3

您可以使用 buffer 方便地转换为十六进制。

const uuid = require('uuid')
const buffer = Buffer.alloc(16);

uuid.v4({}, buffer);
console.log(buffer.toString('hex'));
Run Code Online (Sandbox Code Playgroud)

这不是最干净、最优雅的解决方案,但可以完成工作。