用户密码加盐加密

使用bcrypt

  bcrypt是一种跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。(http://www.atool.org/hash.php) 网站,可以直观的看一下加密的算法。

1、用npm 进行安装

 npm install --save bcrypt --registry=https://registry.npm.taobao.org

2、在Schema文件下的js文件引入bcrypt

  const bcrypt=require('bcrypt')

  const SALT_WORK_FACTOR=10 //加盐长度

  用pre每次进行保存时都进行加盐加密的操作

//每次存储数据时都要执行
userSchema.pre('save', function(next){
    //let user = this
    console.log(this)
    bcrypt.genSalt( SALT_WORK_FACTOR,(err,salt)=>{
        if(err) return next(err)
        bcrypt.hash(this.password,salt, (err,hash)=>{
            if(err) return next(err)
            this.password = hash
            next()
        }) 
    })
})

   

 

转载于:https://www.cnblogs.com/websunny/p/9962172.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值