Sobes.tech
Junior — Middle

PostgreSQL ma'lumotlar bazasida foydalanuvchilarning parollari qanday saqlanadi va himoyalanadi?

sobes.tech AI

AIdan javob

PostgreSQLda foydalanuvchilar parollari odatda ma'lumotlar bazasida ochiq ko'rinishda saqlanmaydi. Buning o'rniga, parollarni himoya qilish uchun hash va tuzdan foydalaniladi.

Asosiy yondashuvlar:

  • Ilova darajasida: foydalanuvchi paroli (masalan, bcrypt, Argon2 yoki PBKDF2 yordamida) noyob tuz bilan hashlanadi va faqat hash ma'lumotlar bazasiga yoziladi.
  • PostgreSQL darajasida: autentifikatsiya uchun, ma'lumotlar bazasi o'zining mexanizmini ishlatadi, bu yerda parollar hash shaklida saqlanadi (MD5 yoki SCRAM-SHA-256).

Foydalanuvchi jadvalida parolni saqlash misoli:

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  username TEXT UNIQUE NOT NULL,
  password_hash TEXT NOT NULL
);

Ro'yhatga olish jarayonida:

const bcrypt = require('bcrypt');
const password = 'user_password';
const saltRounds = 10;
const hash = await bcrypt.hash(password, saltRounds);
// hashni password_hash maydoniga saqlash

Shu tarzda, ma'lumotlar bazasining buzilishi holatida ham, foydalanuvchilarning haqiqiy parollari himoyalangan bo'ladi.