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