生成随机唯一密钥(hash)-javascript+node.js

mnemlml8  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(477)

这个问题在这里已经有答案了

在javascript中生成随机字符串/字符(78个答案)
node.js中的安全随机令牌(12个答案)
两年前关门了。
我的api代码:

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:列,我想在其中插入一些随机的唯一键。
我需要单独的随机键。
我的随机键应该包含15位数字随机字母+数字与当前日期时间和秒。
示例:**j212jaksejdoskw//current date start here 10012018//current time with seconds 100020
我需要的最终密钥输出:j212jaksejdoskw10012018100020

avwztpqn

avwztpqn1#

您可以使用此功能:

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

相关问题