データベースにパスワードを保存する方法

あなたはしません。データベースにパスワードを保存しません。あなたは保存しますパスワードハッシュ、パスワードから生成された文字列ですが、元のパスワード値に戻ることはできません。

Nodeを使用して、インストールします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
})