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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM