nodejs中的bcryptjs密碼加密

  • 2020 年 2 月 23 日
  • 筆記

本文轉載自nodejs中的bcryptjs密碼加密

bcryptjs密碼加密

bcryptjs是一個第三方密碼加密庫,是對原有bcrypt的優化,優點是不需要安裝任何依賴,npmjs地址為:https://www.npmjs.com/package/bcryptjs

引入bcryptjs庫

npm install bcryptjs

var bcrypt = require('bcryptjs');

同步用法(Sync)

生成hash密碼

var bcrypt = require('bcryptjs');  var salt = bcrypt.genSaltSync(10);  var hash = bcrypt.hashSync("B4c0//", salt);  // Store hash in your password DB. 

密碼驗證

// Load hash from your password DB.  bcrypt.compareSync("B4c0//", hash); // true  bcrypt.compareSync("not_bacon", hash); // false 

快速生成hash值

var hash = bcrypt.hashSync('bacon', 8);

異步用法(Async)

生成hash密碼

var bcrypt = require('bcryptjs');  bcrypt.genSalt(10, function(err, salt) {      bcrypt.hash("B4c0//", salt, function(err, hash) {          // Store hash in your password DB.      });  });

密碼驗證

// Load hash from your password DB.  bcrypt.compare("B4c0//", hash, function(err, res) {      // res === true  });  bcrypt.compare("not_bacon", hash, function(err, res) {      // res === false  });    // As of bcryptjs 2.4.0, compare returns a promise if callback is omitted:  bcrypt.compare("B4c0//", hash).then((res) => {      // res === true  });

快速生成hash值

bcrypt.hash('bacon', 8, function(err, hash) {  });

參考鏈接