如何在數據庫中存儲密碼

你不知道您不會在數據庫中存儲密碼。您存儲密碼哈希,這是從密碼生成的字符串,但是沒有人可以返回到原始密碼值。

使用節點安裝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
})