繁体   English   中英

使用 Javascript 生成唯一的随机字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM