Узел JS ввода значений в текстовом файле - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу знать, как я могу сравнить значения, полученные из пользовательского ввода, со значениями, хранящимися в file.txt в Node.js.

обновление: мне не нужно хранить пароли в виде простого текста .Текстовый файл используется только для проверки учетных данных администратора.Это означает, что учетные данные могут изменяться с помощью текстового файла, и администратор должен знать учетные данные, чтобы войти в систему. Это может не иметь смысла, но для целей обучения.

1 Ответ

0 голосов
/ 27 февраля 2019

В целях обучения просто сравните строки.Если ваш userInputPassword в виде простого текста, а пароль, сохраненный в admin.txt, хэширован, то вам необходимо расшифровать свой пароль в admin.txt перед сравнением.

const fs = require('fs');
const readline = require('readline').createInterface({
 input: process.stdin,
 output: process.stdout
});
const read = fs.readFileSync('admin.txt', 'utf8');
console.log(read);
readline.question(`What's your email? `, (email) => {
 const userInputEmail = email.trim();
 console.log(`Email: ${email}`)
   readline.question(`What's your password? `, (password) => {
     const userInputPassword = password.trim();
     console.log(`Password: ${password}`);
     const [correctEmail, correctPassword] = read.split('\n').map(s => s.trim());
     if (userInputEmail === correctEmail && userInputPassword === correctPassword) console.log('Logged in');
     else console.log('Email or password is incorrect');
     readline.close();
   });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...