【发布时间】:2011-10-21 05:59:18
【问题描述】:
我目前正在使用这个函数 (Create GUID / UUID in JavaScript?) 在 Javascript 中生成 UUID:
lucid.uuid = function() {
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);
});
}
我了解所有随机性仅来自 Javascript 的 Math.random() 函数,我不在乎它是否符合 UUID 的 RFC。我想要的是在 Javascript 字符串中将尽可能多的随机性打包到尽可能少的字节中。上面的函数给出了大约 128 位的随机性。我可以将 128 位放入 Javascript 中的字符串有多小(以 HTTP POST 中通过线路发送的 UTF8 字节测量)?我将如何生成这样的字符串?
编辑:此字符串在发送到服务器时将成为 JSON 对象的一部分,因此字符串中需要转义的字符不是很有帮助。
【问题讨论】:
标签: javascript random uuid