关于mysql:生成随机唯一键(哈希) – Javascript + Node.Js

Generate Random unique key(hash) - Javascript + Node.Js

本问题已经有最佳答案,请猛点这里访问。

我的API代码:

1
2
3
4
5
6
7
8
9
10
11
exports.signUp = function (req, res) {
    var newadmin = {
        username: req.body.username,
        firstname: req.body.firstname,
        userKey: // i need random unique key here
        password: encrypt(req.body.password)
    }
    Admin.create(newadmin).then(function (user) {
        return res.status(200).send(user);
    });
}

在我的API中,我有userkey:column,在这里我想插入一些随机的唯一键。

我需要单独的随机密钥。

我的随机键应该包含15位随机字母+带有当前日期时间和秒的数字。

示例:**j21jaksejdoskw//当前日期从这里开始,10012018//当前时间,秒数为100020

我需要的最终密钥输出:J212Jaksejdoskw10012018100020


您可以使用此功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
   var crypto = require('crypto');

    function randomValueHex (len) {
        return crypto.randomBytes(Math.ceil(len/2))
            .toString('hex') // convert to hexadecimal format
            .slice(0,len);   // return required number of characters
    }

    var value1 = randomValueHex(12) // value 'd5be8583137b'

function randomValueHex(len) {
    return crypto.randomBytes(Math.ceil(len / 2))
        .toString('hex') // convert to hexadecimal format
        .slice(0, len); // return required number of characters
}





     var value = randomValueHex(70)
        console.log('---->>', value);

        var final = value + new Date();
        console.log('=====', final);

        var final1 = encrypt(final);
        console.log('+++++', final1);

来源:https://blog.tompawlak.org/generate-random-values-nodejs-javascript