Junior — Middle
Чӣ гуна паролҳои корбарон дар базаи маълумоти PostgreSQL нигоҳ дошта ва ҳимоя мешаванд?
sobes.tech AI
Ҷавоб аз AI
Дар PostgreSQL, паролите на потребителите обикновено не се съхраняват в открит вид в базата данни. Вместо това се използват хеширане и сол за защита на паролите.
Основни подходи:
- На ниво приложение: паролата на потребителя се хешира (например, с bcrypt, Argon2 или PBKDF2) с добавяне на уникална сол, и се записва само хешът.
- На ниво PostgreSQL: за удостоверяване системата използва собствен механизъм, където паролите се съхраняват като хешове (MD5 или SCRAM-SHA-256).
Пример за съхранение на парола в таблицата с потребители:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username TEXT UNIQUE NOT NULL,
password_hash TEXT NOT NULL
);
При регистрация в приложението:
const bcrypt = require('bcrypt');
const password = 'user_password';
const saltRounds = 10;
const hash = await bcrypt.hash(password, saltRounds);
// запазване на hash в полето password_hash
По този начин, дори при компрометиране на базата данни, реалните пароли на потребителите остават защитени.