你不知道您不會在數據庫中存儲密碼。您存儲密碼哈希,這是從密碼生成的字符串,但是沒有人可以返回到原始密碼值。
使用節點安裝bcrypt
:
npm install bcrypt
需要它,並定義鹽值舍入值,稍後我們將使用它:
const bcrypt = require('bcrypt')
const saltRounds = 10
創建密碼哈希
使用以下命令創建密碼哈希:
const hash = await bcrypt.hash('PASSWORD', saltRounds)
在哪裡PASSWORD
是實際的密碼字符串。
如果您更喜歡回調:
bcrypt.hash('PASSWORD', saltRounds, (err, hash) => {
})
然後,您可以存儲hash
數據庫中的值。
驗證密碼哈希
要驗證密碼,請使用以下命令將其與數據庫中存儲的哈希進行比較:bcrypt.compare()
:
const result = await bcrypt.compare('PASSWORD', hash)
//result is true or false
使用回調:
bcrypt.compare('somePassword', hash, (err, result) => {
//result is true or false
})