Я работаю над функцией сброса пароля в приложении Node.js/Express, используя Scipeleize и Crypto Module с хэш -паролями. Когда я отправляю запрос POST в мою конечную точку /сброс-пассу, я получаю следующую ошибку: < /p>
Ошибка в ResetPassword: аргумент «Data» должен быть из строки типа или экземпляра буфера, TypedArray или DataView. Получен не определен.import crypto from "crypto";
import { User } from "../models/user.js"; // Sequelize model
import { Op } from "sequelize";
import logger from "../utils/logger.js";
export const resetPassword = async (req, res) => {
try {
const { token, password } = req.body;
// Find user by reset token
const user = await User.findOne({
where: {
reset_token: token,
reset_token_expires: { [Op.gt]: new Date() },
},
});
if (!user) {
return res.status(400).json({ message: "Invalid or expired reset token" });
}
// Hash new password
const hashedPassword = crypto
.createHash("sha256")
.update(password)
.digest("hex");
// Update user password and clear reset token
await user.update({
password: hashedPassword,
reset_token: null,
reset_token_expires: null,
});
res.status(200).json({ message: "Password reset successful" });
} catch (error) {
logger.error("Error in resetPassword:", error);
res.status(500).json({ message: "Error resetting password" });
}
};
< /code>
Дополнительная информация:
node.js Версия: 18.x
Express Version: 4.x
squelize версия: 6.x < /p>
Подробнее здесь: https://stackoverflow.com/questions/796 ... e-js-crypt
TypeError: аргумент «Data» должен быть из строки типа или буфера в node.js crypto.update () для сброса пароля ⇐ Javascript
Форум по Javascript
1746417436
Anonymous
Я работаю над функцией сброса пароля в приложении Node.js/Express, используя Scipeleize и Crypto Module с хэш -паролями. Когда я отправляю запрос POST в мою конечную точку /сброс-пассу, я получаю следующую ошибку: < /p>
Ошибка в ResetPassword: аргумент «Data» должен быть из строки типа или экземпляра буфера, TypedArray или DataView. Получен не определен.import crypto from "crypto";
import { User } from "../models/user.js"; // Sequelize model
import { Op } from "sequelize";
import logger from "../utils/logger.js";
export const resetPassword = async (req, res) => {
try {
const { token, password } = req.body;
// Find user by reset token
const user = await User.findOne({
where: {
reset_token: token,
reset_token_expires: { [Op.gt]: new Date() },
},
});
if (!user) {
return res.status(400).json({ message: "Invalid or expired reset token" });
}
// Hash new password
const hashedPassword = crypto
.createHash("sha256")
.update(password)
.digest("hex");
// Update user password and clear reset token
await user.update({
password: hashedPassword,
reset_token: null,
reset_token_expires: null,
});
res.status(200).json({ message: "Password reset successful" });
} catch (error) {
logger.error("Error in resetPassword:", error);
res.status(500).json({ message: "Error resetting password" });
}
};
< /code>
Дополнительная информация:
node.js Версия: 18.x
Express Version: 4.x
squelize версия: 6.x < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/79606299/typeerror-the-data-argument-must-be-of-type-string-or-buffer-in-node-js-crypt[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия