如何將密碼存儲在資料庫中

你不需要將密碼直接存儲在資料庫中。你需要存儲密碼的雜湊值,這是從密碼產生的一個字符串,但沒有辦法從雜湊值回推出原始的密碼值。 使用Node,安裝 bcrypt: npm install bcrypt 引入它,並設置salt回合值,稍後我們會使用它: 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 是 true 或 false 使用回調函數的方式: bcrypt.compare('somePassword', hash, (err, result) => { // result 是 true 或 false })