使用者密碼加鹽加密
阿新 • • 發佈:2018-11-15
使用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() }) }) })