首页 > 其他 > 详细

crypto 密码加密

时间:2019-06-24 00:14:30      阅读:116      评论:0      收藏:0      [点我收藏+]

转自

    ‘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 密码加密

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!