Пароль Bcrypt не совпадает с простым паролем при использовании MySQLMySql

Форум по Mysql
Ответить
Anonymous
 Пароль Bcrypt не совпадает с простым паролем при использовании MySQL

Сообщение Anonymous »

Итак, у меня есть что -то вроде этого: < /p>
const authUser = asyncHandler(async (req, res) => {
const { email, password } = req.body;

const [user] = await db.execute("SELECT * FROM User WHERE email = ?", [
email,
]);

// const plainTextPassword = "123456";
// const hardcodedHash = await bcrypt.hash(plainTextPassword, 10);
// const isTestMatch = await bcrypt.compare(plainTextPassword, hardcodedHash);

console.log( isTestMatch);

// console.log(email, password);

if (user.length > 0) {
const foundUser = user[0];
// console.log(user);

const enteredPassword = password.trim();
// console.log(enteredPassword);

const isMatch = await bcrypt.compare(enteredPassword, foundUser.password);
// console.log(isMatch);

if (isMatch) {
res.json({
user_id: user[0].user_id,
name: user[0].name,
isAdmin: user[0].is_admin,
});
} else {
res.status(401);
throw new Error("Invalid email or password");
}
} else {
res.status(401);
throw new Error("Invalid email or password");
}
});
< /code>
По какой -то причине, простой пароль и хэшированный пароль вообще не работают. Я думаю, что проблема заключается в том, как пароль читается из базы данных, как будто он поврежден, потому что, когда я тестирую его так; < /p>
const plainTextPassword = "123456";
const hardcodedHash = await bcrypt.hash(plainTextPassword, 10);
const isTestMatch = await bcrypt.compare(plainTextPassword, hardcodedHash);
< /code>
он возвращает true; < /p>
Мое соединение SQL выглядит следующим образом: < /p>
import mysql from "mysql2/promise";

let connection;

const connectDB = async () => {
if (!connection) {
try {
connection = await mysql.createConnection({
host: "localhost",
user: "root",

database: "tech_shop",
port: 3306,
charset: "utf8mb4",
});

< /code>
, пока я делал то же самое с Moongose, это работало отлично, но с этим совсем не. Я пробовал буквально все и не смог найти решение.
Я был бы признателен за любую помощь. < /P>

Подробнее здесь: https://stackoverflow.com/questions/797 ... sing-mysql
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»