← Kriptografiya va identifikatsiya
MODUL 08 / DARS 02

Parollar: salt va maxsus hasher

Parolni plaintext yoki oddiy hash bilan saqlamang.

45 daqiqa Python 3

Parol bazasi modeli

Server parolning o‘zini saqlamasligi kerak. Maxsus password hasher salt va hisoblash xarajatidan foydalanadi. Salt har bir yozuv uchun noyob, maxfiy bo‘lishi shart emas; oldindan hisoblangan jadvallar samaradorligini kamaytiradi.

Frameworkdan foydalaning

Django User.set_password va check_password ishlating. O‘z parol protokoli yoki kriptografik algoritmingizni yasamang. Xarajat parametri apparat va ishlash talabiga mos tanlanadi, vaqt o‘tishi bilan yangilanadi. Misolda bcrypt turli salt bilan turli hash yaratadi; platforma Django’ning standart hasheridan foydalanadi. bcrypt kirishi 72 baytdan oshmasligi kerak; haqiqiy tizimda framework siyosatini qo‘llang.

Kirish himoyasi

Uzun parol, ommabop parollarni rad etish, rate limit va imkon bo‘lsa MFA qo‘shiladi. Parolni log, email yoki URL’da yubormang. Reset link qisqa muddatli, bir martalik va taxmin qilib bo‘lmaydigan bo‘lsin. Parol uzunligi yolg‘iz o‘zi kuchlilikning to‘liq o‘lchovi emas.

Python’da ko‘rib chiqamiz

import bcrypt
password = b"synthetic-training-password"
a = bcrypt.hashpw(password, bcrypt.gensalt(rounds=4))
b = bcrypt.hashpw(password, bcrypt.gensalt(rounds=4))
print(a == b)
# rounds=4 faqat tez o‘quv namoyishi; production parametri emas.
# Lokal muhit: python3 -m pip install bcrypt==5.0.0

Misolni

Mustaqil mashq

Bir xil parol va turli salt natijalarini solishtiring. Django’da make_password/check_password bilan lokal misol yozing. Real parolingizdan foydalanmang.

Chuqurroq o‘rganing

Rasmiy hujjatni ochish ↗
O‘QING → O‘ZGARTIRING → SINANG

Python ish maydoni

.py

Kod brauzeringizda Web Worker orqali bajariladi. Serverga yuborilmaydi. Standart kutubxona bilan ishlang; lokal shell va host fayllari mavjud emas.

● ● ●password-hashing.pyPython 3.14
Muhit ishga tushirishda yuklanadi
NATIJA
Kod natijasi shu yerda ko‘rinadi.
JAVOBI TEKSHIRILADIGAN TOPSHIRIQ

Natijani tahlil qiling

Ikki xil salt bir xil natija berdimi?

Yordamchi ishora

Salt kirishning bir qismi.

Python misolini hisobsiz ham bajara olasiz. Javobni tekshirish va natijani saqlash uchun hisobga kiring.

Hisobga kirish

Bu tekshiruv javob mosligini baholaydi. Mustaqil mashq va loyiha sifatini dars mezonlari bilan alohida tekshiring.

BILIMINGIZNI MUSTAHKAMLANG

Dars testi

To‘g‘ri javob bering. Qayta urinish mumkin; eng yaxshi natijangiz saqlanadi.

1. Production parolni qanday saqlash kerak?
Test uchun hisobga kirish
O‘Z SO‘ZINGIZ BILAN YOZING

Shaxsiy konspekt

Tushunganlaringiz, savollaringiz va keyingi amaliyotingiz. Parol yoki token yozmang.

Konspekt uchun hisobga kirish