[英]Generate unique random string with Javascript
我正在创建一个应用程序,有时我需要允许用户生成一些随机字符串。 我想强制以下列格式生成它:
xxxx-xxxx-xxxx
其中“x”是一些数字 [0-9] 或字符 [AZ]。 最有效的方法是什么? 生成后,我还需要检查它是否已经存在于数据库中,所以我有点担心它会花费多少时间。
我们可以让它变得如此简单
require("crypto").randomBytes(64).toString('hex')
您可以使用加密库。
var crypto = require('crypto');
//function code taken from http://blog.tompawlak.org/how-to-generate-random-values-nodejs-javascript
function randomValueHex (len) {
return crypto.randomBytes(Math.ceil(len/2))
.toString('hex') // convert to hexadecimal format
.slice(0,len).toUpperCase(); // return required number of characters
}
var string = randomValueHex(4)+"-"+randomValueHex(4)+"-"+randomValueHex(4);
console.log(string);
检查这些线程: Generate random string/characters in JavaScript
您可以检查该字段是否存在于数据库中。 如果是这样,只需生成一个新令牌。 然后再次检查。 如果你没有庞大的用户群,它存在的可能性真的很低。 因此,长循环检查的可能性也很低。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.