我怎样才能随机生成一个160位(20字节)长的十六进制作为字符串(与Git提交哈希值相同的长度),用作唯一标识符?

最佳答案

现代浏览器中有cyrpto.getRandomValues,支持非常好。 -> https://caniuse.com/#feat=getrandomvalues

所以用这个你可以->



const a = [...crypto.getRandomValues(new Uint8Array(20))].map(m=>('0'+m.toString(16)).slice(-2)).join('');

console.log(a);

09-27 03:53