Я кодирую защиту для веб-сайта в выражениях express.js и postgresql db. Теперь я читал о соле и хэшировании, и у меня есть код, настроенный с помощью pdkdf2, используя крипто-модуль, но моя проблема заключается в том, как я буду структурировать таблицу учетных записей в db. Что делать, если я создам роль входа, которая будет иметь зашифрованный формат MD5 для пароля, причем этот пароль будет производным ключом из «хеширования» соли n. Будет ли это чрезмерным защитой?Безопасность сведений о пользователе с использованием соли n hash и роль входа в postgresql
Будет таблица, которая будет выглядеть следующим образом: UID (идентификатор из учетной записи), СОЛЬ, ХАШ. А также loginrole.
Итак, попробовав аутентификацию, код попытается войти в качестве этой роли, сначала получив ассоциированный UID, генерируя пароль соляного пароля для предоставленного пароля и auth на уровне БД.
Надеется, что я делаю какой-то смысл ..
var usrSalt = crypto.randomBytes('128').toString('base64');
//text , salt ,iterations , keylen , callback
crypto.pbkdf2(usr, usrSalt, 10000, 512, function (err, derivedKey) {
if (err) { console.log(err); }
else {
usr = derivedKey;
next();
}
});
P.S бы лучше снова быть модулем pgcrypto в том же сценариях, просто удалив код на Node.js.
в Уре втором абзаце, что если мы оба? вот что я пытаюсь объяснить в вопросе.Если мы создадим логин, содержащий пароль, который уже хэширован, а затем сохранен в логине с использованием MD5-шифрования, тогда, когда нам нужно auth, мы берем соль из таблицы, которую мы «привязали» к ней с уникальным идентификатором входа , – Drakoumel
@drakoumelitos Отображение * кода * может помочь сделать это понятным. Я предполагаю, что вы говорите, что вы «СОЗДАЛИ ПОЛЬЗОВАТЕЛЯ» в БД, но у вас есть своя отдельная таблица паролей с сохраненным там именем пользователя или пользователя. Вы выполняете аутентификацию пользователя в соответствии с вашей собственной пользовательской таблицей, а затем «УСТАНОВИТЕ СЕЗОНУ АВТОРИЗАЦИЮ», чтобы «стать» этим пользователем в БД. Правильно ли это, что вы делаете? –
Мне было бы неплохо, если бы я мог показать, что я имею в виду, но я не могу действительно показать u образ БД: P закрыть, i СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ в БД и дать ему пароль, который уже hashed n salted, и хранить соль в другой таблице привязывает ее к уникальному идентификатору, который имеет ПОЛЬЗОВАТЕЛЬ. мой вопрос в том, что если это слишком много или слишком много – Drakoumel