1 生成盐-helper.js
const crypto = require('crypto');
/**
* Make salt
* @return {String}
* @api public
*/
exports.makeSalt = () => {
return crypto.randomBytes(16).toString('base64');
};
2 生成密码-helper.js
/**
* Encrypt password
* @param {String} password
* @param {String} salt
* @return {String}
* @api public
*/
exports.encryptPassword = (password, salt) => {
if (!password || !salt) return '';
return crypto
.pbkdf2Sync(password, salt, 10000, 64, 'sha1')
.toString('base64');
};
3 实例
let salt = helper.makeSalt();
let hashedPassword = helper.encryptPassword("123456",salt);