📅  最后修改于: 2023-12-03 15:38:09.923000             🧑  作者: Mango
GUID (Globally Unique Identifier) 或 UUID (Universally Unique Identifier) 是一种由数字和字母组成的32个字符长的标识符,用于识别唯一对象。在Javascript中,我们可以使用一些方法来创建GUID或UUID。
我们可以使用Math.random()函数生成一个伪随机数,并将其转换为16进制格式。
function generateGUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
console.log(generateGUID()); // 输出:'5773e89c-d4cd-4b6f-9bad-d2f667582289'
解释:
我们也可以使用Node.js中的crypto API生成GUID或UUID。
const crypto = require('crypto');
function generateUUID() {
let buffer = crypto.randomBytes(16);
buffer[6] = (buffer[6] & 0x0f) | 0x40; // RFC 4122 version 4
buffer[8] = (buffer[8] & 0x3f) | 0x80; //RFC 4122 variant 1
return buffer.toString('hex').match(/.{1,8}/g).join('-');
}
console.log(generateUUID()); // 输出:'3f5c5a03-5c3f-4b16-af7e-3083d494e924'
解释:
以上两种方法都可以生成唯一的GUID或UUID,具体使用哪种方法取决于你的需求和环境。