crypto 密码加密

Posted anxiaoyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crypto 密码加密相关的知识,希望对你有一定的参考价值。

转自

    ‘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 密码加密的主要内容,如果未能解决你的问题,请参考以下文章

攻防世界:Crypto :幂数加密——云影密码

Crypto入门 幂数加密(云影密码)

登录加密

前端登录密码加密传输

node.js密码加密实践

vue中使用cookies和crypto-js实现记住密码和加密