文本文件中的节点js输入值

Node js input values in text file

我想知道如何比较从用户输入接收到的值与存储在 Node.js 中的 file.txt 中的值。

更新:我不需要需要以纯文本形式存储密码。该文本文件仅用于验证管理员凭据。这意味着可以通过文本文件更改凭据,管理员必须知道凭据才能登录。这可能没有意义,但用于学习目的。

为了您的学习目的,只需比较字符串。如果您的 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();
   });
});