在javascript中等效于python的uuid.uuid4()。hex?

时间:2018-04-05 03:33:17

标签: javascript python security cryptography uuid

Python具有创建十六进制UUID的功能:

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

解决方案的想法是在前端随机生成32个字符中的每个字符,但我不知道是否有关于十六进制UUID的任何特殊内容,我也不确定是否有一种很好的方法来验证客户端发回一个有效值(而不是一系列的32个)

编辑:刚刚意识到“十六进制”格式没有什么特别之处,它只是缺少破折号。如果它让其他人感到困惑,请留下那个子弹。

1 个答案:

答案 0 :(得分:0)

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

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

uuid.v4({}, buffer);
console.log(buffer.toString('hex'));

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