码迷,mamicode.com
首页 > 其他好文 > 详细

crypto 密码加密

时间:2019-06-23 22:50:05      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:algorithm   gen   max   script   function   mac   tostring   byte   and   

转自

    ‘use strict‘;
    var crypto = require(‘crypto‘);
    /**
     * generates random string of characters i.e salt
     * @function
     * @param {number} length - Length of the random string.
     */
    var genRandomString = function(length){
        return crypto.randomBytes(Math.ceil(length/2))
                .toString(‘hex‘) /** convert to hexadecimal format */
                .slice(0,length);   /** return required number of characters */
    };
    /**
     * hash password with sha512.
     * @function
     * @param {string} password - List of required fields.
     * @param {string} salt - Data to be validated.
     */
    var sha512 = function(password, salt){
        var hash = crypto.createHmac(‘sha512‘, salt); /** Hashing algorithm sha512 */
        hash.update(password);
        var value = hash.digest(‘hex‘);
        return {
            salt:salt,
            passwordHash:value
        };
    };
    function saltHashPassword(userpassword) {
        var salt = genRandomString(16); /** Gives us salt of length 16 */
        var passwordData = sha512(userpassword, salt);
        console.log(‘UserPassword = ‘+userpassword);
        console.log(‘Passwordhash = ‘+passwordData.passwordHash);
        console.log(‘nSalt = ‘+passwordData.salt);
    }
    saltHashPassword(‘MYPASSWORD‘);
    saltHashPassword(‘MYPASSWORD‘);

 

crypto 密码加密

标签:algorithm   gen   max   script   function   mac   tostring   byte   and   

原文地址:https://www.cnblogs.com/anxiaoyu/p/11074622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!