bcrypt 密码加密

哈希加密与bcrypt实战

哈希加密是单程加密方式: 1234 => abcd (容易爆破)

在加密的密码中加入随机字符串可以增加密码被破解的难度

// 导入bcrypt 模块
const bcrypt = require('bcrypt')
// 生成随机字符串 gen => generate 生成salt 盐
let salt = await bcrypt.genSalt(10)
// 使用随机字符串对密码进行加密
let pass = await bcrypt.hash('明文密码', salt)

 

bcrypt 依赖环境

1.python2.x

2.node-gyp

npm i -g node-gyp

3.windows-build-tools (Windows环境)

npm i -g --production windows-build-tools

4.bcrypt

npm i bcrypt

 

示例:

// 导入bcrypt
const bcrypt = require('bcrypt')

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

run()

 显示结果: 

$2b$10$LZg9xeA2lUxEd0LPGso4m.
$2b$10$LZg9xeA2lUxEd0LPGso4m.dTDYsHfsZ8qvUV5qkn1nujSVRrA0qS6

 

 

密码比对: 
let isEqual = await bcrypt.compare('明文密码', '加密密码')

如果密码比对成功则结果为true,比对失败则为false

 

转载于:https://www.cnblogs.com/liea/p/11297332.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值