密碼我在一個文件中的以下代碼調用knexfile.jsNode.js加載knex - 確保用於登錄到數據庫
module.exports = {
development: {
client: 'mysql',
connection: {
database: 'myDatabase',
timezone: 'Z',
user: 'root',
password: 'myPassword',
host: '127.0.0.1'
},
pool: {
min: 2,
max: 10
},
migrations: {
tableName: 'myMigrationTable'
}
}
};
MYPASSWORD從上面的代碼是純文本的。在我的生產服務器上,我絕對不希望我的代碼中使用明文形式的密碼,而我的應用程序使用該密碼來驗證數據庫。我也不希望它在我的服務器上以明文形式存放在文件中。
在knex或node中有沒有辦法輕鬆地安全地登錄到我的數據庫?我應該只是簡單地加密我的密碼,將它放在服務器上的文件中,並在登錄時使用我的webapp解密它?
你不解密它。您使用單向散列函數。 – Dev
我以爲mysql會在收到密碼時再次哈希我的密碼,然後將這個新的哈希與它存儲在數據庫中的內容進行比較,因此會給出一個驗證錯誤? –
我不明白mysql或knex,但你需要做的是散列用戶輸入並將其與數據庫中的密碼進行比較。有像bcrypt這樣的算法,我也推薦鹽。 – Dev