前端 JS生成32位UUID (安全的随机数)
在JavaScript中生成一个32位UUID可以使用以下方法:
function generateUUID() {
var d = new Date().getTime(); //Timestamp
var d2 = (performance && performance.now && (performance.now()*1000)) || 0; //Time in microseconds since page-load or 0 if unsupported
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16; //random number between 0 and 16
if(d > 0) { //Use timestamp until depleted
r = (d + r)%16 | 0;
d = Math.floor(d/16);
} else { //Use microseconds since page-load if supported
r = (d2 + r)%16 | 0;
d2 = Math.floor(d2/16);
}
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
}
console.log(generateUUID()); // 输出类似于 "9fd9a3e8-ae6f-490d-8a8e-6e5d34faef69" 的UUID
这段代码使用了伪随机数生成器和当前时间戳来生成一个看似随机的32位UUID。这种生成方式保证了足够的随机性,适合安全性要求较高的场合。
评论已关闭