1. 程式人生 > >使用者密碼加鹽加密

使用者密碼加鹽加密

使用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() }) }) })