Я следующий код в файле с именем 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