Javascript 生成随机十六进制
Javascript generate random hexadecimal
如何随机生成一个 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);
这应该可以解决问题:
let characters = "0123456789abcdef"
let str = ""
for(let i = 0; i < 40; i++){
str += characters[Math.floor(Math.random() * 16)]
}
console.log(str)
如何随机生成一个 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);
这应该可以解决问题:
let characters = "0123456789abcdef"
let str = ""
for(let i = 0; i < 40; i++){
str += characters[Math.floor(Math.random() * 16)]
}
console.log(str)