bcrypt cifra las contraseñas en el nodo

Bcrypt es un algoritmo de cifrado irreversible y el texto sin formato no se puede obtener descifrando el texto cifrado.
Se recomienda leer el documento oficial, porque la versión está actualizada

npm install bcryptjs

var bcrypt = require('bcryptjs')
// 【同步加密和验证】
// 随机字符串
var salt = bcrypt.genSaltSync(10)
// 对明文加密
var pwd1 = bcrypt.hashSync('123456', salt)
// 验证比对,返回布尔值表示验证结果 true表示一致,false表示不一致
var isOk = bcrypt.compareSync('123456', pwd1) 

// 【异步加密和验证】
// 随机字符串
bcrypt.genSalt(10, (err, salt) => {
    
    
  // 对明文加密
  bcrypt.hash('123456', salt, (err, pwd) => {
    
    
    console.log(pwd)
    // 验证
    bcrypt.compare('123456', pwd, (err, isOk) => {
    
    
      console.log(isOk)
    })
  })
})

Todo el valor de retorno de bcrypt es un objeto de promesa

// 导入 bcrypt
const bcript = require('bcryptjs');

async function run() {
    
    
    // 生成随机字符串
    // genSalt方法接收一个数值作为参数
    // 数值越大 生成的随机字符串复杂度越高
    // 数值越小生成的随机字符串复杂度越低
    // 默认值是10
    // 返回生成的随机字符串
    const salt = await bcript.genSalt(10);
    // 对密码进行加密
    // 1. 要进行加密的明文
    // 2. 随机字符串
    // 返回值值加密后的密码
    const result = await bcript.hash('123456', salt);
    console.log(salt);
    console.log(result);
}
run()


    // 将客户端传递过来的密码和用户信息中的密码进行比对
    // true 比对成功
    // false 比对失败
let isvalue = await bcrypt.compare(password, user.password)

Supongo que te gusta

Origin blog.csdn.net/weixin_45773503/article/details/108197179
Recomendado
Clasificación