跳到主要内容
在正文中添加了193个字符
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272

服务器端(节点,bun)

var crypto=require(“crypto”);var id=crypto.randomBytes(20).toString('hex');//“bb5dc8842ca31d4603d6aa11448d1654”

电子稳定管理-

从“node:crypto”导入*作为crypto;const id=crypto.randomBytes(20).toString('hex');console.log(id)//“bb5dc8842ca31d4603d6aa11448d1654”

或cjs-

const crypto=require(“crypto”);const id=crypto.randomBytes(20).toString('hex');console.log(id)//“bb5dc8842ca31d4603d6aa11448d1654”

生成的字符串的长度将是您生成的随机字节的两倍;编码为十六进制的每个字节是2个字符。20个字节将是40个十六进制字符。

客户端(浏览器)

服务器端

var crypto=require(“crypto”);var id=crypto.randomBytes(20).toString('hex');//“bb5dc8842ca31d4603d6aa11448d1654”

结果字符串的长度将是您生成的随机字节的两倍;编码为十六进制的每个字节是2个字符。20个字节将是40个十六进制字符。

客户端

服务器端(节点,bun)

电子稳定管理-

从“node:crypto”导入*作为crypto;const id=crypto.randomBytes(20).toString('hex');console.log(id)//“bb5dc8842ca31d4603d6aa11448d1654”

或cjs-

const crypto=require(“crypto”);const id=crypto.randomBytes(20).toString('hex');console.log(id)//“bb5dc8842ca31d4603d6aa11448d1654”

结果字符串的长度将是您生成的随机字节的两倍;编码为十六进制的每个字节是2个字符。20个字节将是40个十六进制字符。

客户端(浏览器)

crypto.randomUUID()
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272

数学.随机对这种事情不好

服务器端

使用节点加密模块-

var crypto=require(“crypto”);var id=crypto.randomBytes(20).toString('hex');//“bb5dc8842ca31d4603d6aa11448d1654”

结果字符串的长度将是您生成的随机字节的两倍;编码为十六进制的每个字节是2个字符。20个字节将是40个十六进制字符。


客户端

使用浏览器的加密加密模块,-

const id=window.crypto.randomUUID()console.log(id)//bd4d099b-3d39-4aad-a59c-c45dfac8eaf0

或者 加密.get随机值-

这个crypto.getRandomValues()方法可以获得加密的强随机值。作为参数给出的数组由随机数填充(密码意义上的随机数)。

//dec2hex::Integer->字符串//即0-255->'00'-'f'功能dec2hex(dec){return dec.toString(16).padStart(2,“0”)}//generateId::Integer->字符串函数生成器ID(len){var arr=新Uint8Array((len||40)/2)window.crypto.getRandomValues(arr)return Array.from(arr,dec2hex).join(“”)}console.log(generateId())//“82defcf324571e70b0521d79cce2bf3fffccd69”console.log(生成ID(20))//“c1a050a4cd1556948d41”

分步控制台示例-

>var arr=new Uint8Array(4)#make 4字节数组(值0-255)>阿珥Uint8Array(4)[0,0,0,0]>窗口.加密加密{精细:精细加密}>window.crypto.getRandomValues()TypeError:Crypto.getRandomValues需要至少1个参数,但只传递了0个>window.crypto.getRandomValues(arr)Uint8Array(4)[235、229、94、228]

对于IE11支持,您可以使用-

(window.crypto ||window.msCrypto).getRandomValues(arr)

有关浏览器覆盖范围,请参阅https://caniuse.com/#feat=getrandomvalues


客户端(旧浏览器)

如果必须支持旧浏览器,请考虑以下内容乌伊德-

const uuid=require(“uuid”);常量id=uuid.v4();//“110ec58a-a0f2-4ac4-8393-c866d813b8d1”

数学.随机对这种事情不好

服务器端

使用节点加密模块-

var crypto=require(“crypto”);var id=crypto.randomBytes(20).toString('hex');//“bb5dc8842ca31d4603d6aa11448d1654”

结果字符串的长度将是您生成的随机字节的两倍;编码为十六进制的每个字节是2个字符。20个字节将是40个十六进制字符。


客户端

使用浏览器的加密模块, 加密.get随机值-

这个crypto.getRandomValues()方法可以获得加密的强随机值。作为参数给出的数组由随机数填充(密码意义上的随机数)。

//dec2hex::Integer->字符串//即0-255->'00'-'f'功能dec2hex(dec){return dec.toString(16).padStart(2,“0”)}//generateId::Integer->字符串函数生成器Id(len){var arr=新Uint8Array((len||40)/2)window.crypto.getRandomValues(arr)return Array.from(arr,dec2hex).join(“”)}console.log(generateId())//“82defcf324571e70b0521d79cce2bf3fffccd69”console.log(生成ID(20))//“c1a050a4cd1556948d41”

分步控制台示例-

>var arr=new Uint8Array(4)#make 4字节数组(值0-255)>阿珥Uint8Array(4)[0,0,0,0]>窗口.加密加密{精细:精细加密}>window.crypto.getRandomValues()TypeError:Crypto.getRandomValues需要至少1个参数,但只传递了0个>window.crypto.getRandomValues(arr)Uint8阵列(4)[235222994228]

对于IE11支持,您可以使用-

(window.crypto||window.msCrypto).getRandomValues(arr)

有关浏览器覆盖范围,请参阅https://caniuse.com/#feat=getrandomvalues


客户端(旧浏览器)

如果必须支持旧浏览器,请考虑以下内容乌伊德-

const uuid=要求(“uuid”);常量id=uuid.v4();//“110ec58a-a0f2-4ac4-8393-c866d813b8d1”

数学.随机对这种事情不好

服务器端

使用节点加密模块-

var crypto=require(“crypto”);var id=crypto.randomBytes(20).toString('hex');//“bb5dc8842ca31d4603d6aa11448d1654”

结果字符串的长度将是您生成的随机字节的两倍;编码为十六进制的每个字节是2个字符。20个字节将是40个十六进制字符。


客户端

使用浏览器的加密模块-

const id=window.crypto.randomUUID()console.log(id)//bd4d099b-3d39-4aad-a59c-c45dfac8eaf0

或者 加密.get随机值-

这个crypto.getRandomValues()方法可以获得加密的强随机值。作为参数给出的数组由随机数填充(密码意义上的随机数)。

//dec2hex::Integer->字符串//即0-255->'00'-'f'功能dec2hex(dec){return dec.toString(16).padStart(2,“0”)}//generateId::Integer->字符串函数生成器ID(len){var arr=新Uint8Array((len||40)/2)window.crypto.getRandomValues(arr)return Array.from(arr,dec2hex).join(“”)}console.log(generateId())//“82defcf324571e70b0521d79cce2bf3fffccd69”console.log(generateId(20))//“c1a050a4cd1556948d41”

一个循序渐进的控制台示例-

>var arr=new Uint8Array(4)#make 4字节数组(值0-255)>阿珥Uint8Array(4)[0,0,0,0]>窗口.加密加密{精细:精细加密}>window.crypto.getRandomValues()TypeError:Crypto.getRandomValues需要至少1个参数,但只传递了0个>window.crypto.getRandomValues(arr)Uint8Array(4)[235、229、94、228]

对于IE11支持,您可以使用-

(window.crypto ||window.msCrypto).getRandomValues(arr)

有关浏览器覆盖范围,请参阅https://caniuse.com/#feat=getrandomvalues


客户端(旧浏览器)

如果必须支持旧浏览器,请考虑以下内容乌伊德-

const uuid=要求(“uuid”);常量id=uuid.v4();//“110ec58a-a0f2-4ac4-8393-c866d813b8d1”
删除正文中的142个字符
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272

选项1服务器端

如果你能做到这一点服务器-侧面,只需使用使用节点 加密模块-

选项2客户端

如果你必须这样做客户-一边,也许试试使用这个乌伊德浏览器密码模块-

var uuid=要求(“uuid”);var id=uuid.v4();//“110ec58a-a0f2-4ac4-8393-c866d813b8d1”

选项3

如果你必须这样做客户-side,您不必支持旧浏览器,您可以在不依赖的情况下完成 crypto.get随机值 -

这个crypto.getRandomValues()方法可以获得加密的强随机值。作为参数给出的数组由随机数填充(密码意义上的随机数)。


 

有关的详细信息加密.get随机值 一步-

这个crypto.getRandomValues()方法可以获得加密的强随机值。作为参数给出的数组由随机数填充(密码意义上的随机数)。

这里有一点旁路控制台示例-


客户端(旧浏览器)

如果必须支持旧浏览器,请考虑以下内容乌伊德-

const uuid=要求(“uuid”);常量id=uuid.v4();//“110ec58a-a0f2-4ac4-8393-c866d813b8d1”

选项1

如果你能做到这一点服务器-侧面,只需使用 加密模块-

选项2

如果你必须这样做客户-一边,也许试试这个乌伊德模块-

var uuid=要求(“uuid”);var id=uuid.v4();//“110ec58a-a0f2-4ac4-8393-c866d813b8d1”

选项3

如果你必须这样做客户-side,您不必支持旧浏览器,您可以在不依赖的情况下完成-


 

有关的详细信息加密.get随机值 -

这个crypto.getRandomValues()方法可以获得加密的强随机值。作为参数给出的数组由随机数填充(密码意义上的随机数)。

这里有一点控制台示例-

服务器端

使用节点 加密模块-

客户端

使用这个浏览器密码模块,加密.get随机值 -

这个crypto.getRandomValues()方法可以获得加密的强随机值。作为参数给出的数组由随机数填充(密码意义上的随机数)。

一步-循序渐进控制台示例-


客户端(旧浏览器)

如果必须支持旧浏览器,请考虑以下内容乌伊德-

const uuid=要求(“uuid”);常量id=uuid.v4();//“110ec58a-a0f2-4ac4-8393-c866d813b8d1”
删除正文中的32个字符
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272
加载
在正文中添加了30个字符
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272
加载
正文中添加了34个字符
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272
加载
在windows.crypto上添加更多信息
来源 链接
布莱恩·伯恩斯
  • 21.7万
  • 10
  • 90
  • 78
加载
替换网址:http://stackoverflow.com/带有https://stackoverflow.com/
来源 链接
URL重写器机器人
URL重写器机器人
加载
删除正文中的4个字符
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272
加载
正文中添加了19个字符
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272
加载
正文中添加了18个字符
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272
加载
删除正文中的23个字符
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272
加载
来源 链接
木兰
  • 134.2千
  • 32
  • 237
  • 272
加载