0
可能我在這裏丟失了一些東西。NodeJS - 護照密碼在數據庫中顯示爲純文本
得到了一個Express服務器與MongoDB,我使用護照進行身份驗證。 我正在使用其中一個標準代碼示例進行註冊,它似乎沒問題,但是我可以在我的數據庫中看到我在密碼字段(純文本)中鍵入的密碼。
我希望它被加密...
我做錯了什麼?
可能我在這裏丟失了一些東西。NodeJS - 護照密碼在數據庫中顯示爲純文本
得到了一個Express服務器與MongoDB,我使用護照進行身份驗證。 我正在使用其中一個標準代碼示例進行註冊,它似乎沒問題,但是我可以在我的數據庫中看到我在密碼字段(純文本)中鍵入的密碼。
我希望它被加密...
我做錯了什麼?
你必須自己散列密碼。下面是如何使用brcypt做到這一點:
function hashPassword (password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync());
}
您保存用戶數據庫簡單地調用該函數,像這樣如此前:
user.password = hashPassword(thepassword);
的MongoDB不把密碼從其他文本有什麼不同。你將不得不自己處理加密。你可以看看這個[問題](http://stackoverflow.com/questions/6951563/storing-passwords-with-node-js-and-mongodb)。答案試圖解決類似的問題。並且存儲密碼不是一個好主意。更好地存儲他們的鹽漬散列。 – user568109
基本上mongodb只是提供存儲。您必須使用bcrypt或其他庫來處理安全性。 – user568109