Express框架(14) bcrypt 套件
什麼是 bcrypt
在儲存密碼到後端資料庫時,要避免直接將密碼以字串方式存入,以防資料庫被害時密碼洩漏。所以應該再存入密碼前將密碼加密,也就是本文會介紹的 bcrypt套件 來加密。
bcrypt 能夠將一個字串做雜湊加密,其中有個參數叫 saltRounds 是在密碼學中的加鹽(salt),加鹽的意思是在要加密的字串中加特定的字符,打亂原始的字符串,使其生成的散列結果產生變化,其參數越高加鹽次數多越安全相對的加密時間就越長。
安裝套件
1 | npm install bcrypt --save |
使用方法
- saltRounds: 整數型態,數值越高越安全。
- myPassword: 要加密的字串。
- testPassword: 測試驗證密碼的變數。
- myHash: myPassword加密後結果(給驗證用)
以下為promises 非同步的加密與解密方法
1 | // 加密 |
也支援 async/await 的寫法
1 | async function checkUser(username, password) { |