3.3 Bardoshli parollarni generatsiyalash dasturini ishlab chiqish
Bardoshli parollar tuzishni bosqichlari:
Talablarni aniqlang:
Kuchli parollar uchun talablarni aniqlang (uzunlik, belgilar turlari va boshqalar).
Parollar ishlatiladigan tizim yoki xizmat uchun har qanday maxsus qoidalar yoki
ko'rsatmalarni ko'rib chiqing.
Dasturlash tilini tanlang:
Jamoangiz tajribasi va dasturiy ta'minot ishlaydigan platforma (Python, Java, C# va
boshqalar) asosida dasturlash tilini tanlang.
Tasodifiylashtirish:
37
Tasodifiy belgilar yaratish uchun ishonchli tasodifiy manbadan foydalaning.
Ko'pgina dasturlash tillari bu maqsad uchun funktsiyalarni taqdim etadi.
Parol mezonlari:
Katta va kichik harflar, raqamlar va maxsus belgilar kabi uzunlik kabi kuchli parollar
uchun mezonlarni amalga oshiring.
Foydalanuvchi ehtiyojlari asosida parol mezonlarini moslashtirishga ruxsat bering.
Umumiy naqshlardan qoching:
Yaratilgan parollar ularni hujumlarga koʻproq moyil qilishi mumkin boʻlgan
umumiy naqshlar yoki ketma-ketliklarga amal qilmasligiga ishonch hosil qiling.
Entropiya:
Yaratilgan parollar oldindan aytib bo'lmaydigan darajada yuqori bo'lishini
ta'minlash uchun entropiya kontseptsiyasini ko'rib chiqing.
Foydalanuvchi uchun qulay interfeys:
Foydalanuvchilar parol yaratish dasturi bilan o'zaro aloqada bo'lishlari uchun qulay
interfeys yarating. Bu buyruq qatori vositasi, foydalanuvchi grafik interfeysi (GUI)
yoki API bo'lishi mumkin.
Xavfsiz saqlash (ixtiyoriy):
Agar dasturiy ta'minotingizda parolni saqlash xususiyati mavjud bo'lsa, parollarni
saqlash uchun xavfsiz usullarni qo'llang (xeshlash, tuzlash va h.k.).
Sinov:
Belgilangan mezonlarga javob beradigan parollarni yaratishi va turli muhitlarda
to'g'ri ishlashiga ishonch hosil qilish uchun dasturiy ta'minotni yaxshilab sinab
ko'ring.
Hujjatlar:
38
Foydalanuvchilar va ishlab chiquvchilar uchun dasturiy ta'minotdan qanday
foydalanish bo'yicha keng qamrovli hujjatlarni, shu jumladan har qanday sozlash
opsiyalarini taqdim eting.
Xavfsizlik bo'yicha eng yaxshi amaliyotlar:
Zaifliklarning oldini olish va dasturiy ta'minotning potentsial hujumlarga qarshi
mustahkamligini ta'minlash uchun kodingizda xavfsizlik bo'yicha eng yaxshi
amaliyotlarga amal qiling.
Muvofiqlik:
Agar sizning dasturiy ta'minotingiz tartibga solinadigan sohalarda foydalanish
uchun mo'ljallangan bo'lsa, u tegishli xavfsizlik standartlari va qoidalariga mos
kelishiga ishonch hosil qiling.
Yangilanishlar va texnik xizmat ko'rsatish:
Xavfsizlik muammolarini hal qilish, funksionallikni yaxshilash va rivojlanayotgan
xavfsizlik standartlaridan xabardor bo'lish uchun muntazam yangilanishlar va texnik
xizmat ko'rsatishni rejalashtiring.
Foydalanuvchi taʼlimi:
Agar dasturiy ta'minot oxirgi foydalanuvchilar uchun mo'ljallangan bo'lsa, kuchli
parollarning ahamiyati va parol yaratish dasturidan qanday samarali foydalanish
haqida o'quv materiallarini taqdim eting.
Huquqiy mulohazalar:
Ma'lumotlarni himoya qilish qonunlari kabi har qanday huquqiy mulohazalardan
xabardor bo'ling va dasturiy ta'minotingiz ularga mos kelishiga ishonch hosil qiling.
Biz Pythonda dasturlash tilida tuzib kuramz:
1. Dastur Strukturasini O'rnatish: Dasturni yaratish uchun bir faylni (masalan,
‘password_generator.py’) oching.
39
2.Random modulini import qilish: Random moduli parol elementlarini tasodifiy
tanlashda foydalaniladi. Dasturning boshida quyidagi qatorni qo'shing:
3. Foydalanuvchidan so'rovnoma tuzing: Foydalanuvchidan parol uzunligini, katta
harflarni qo'llashni (yoki boshqa talablarini) so'raydigan bir funksiya yarating. Misol
uchun:
4. Parolni generatsiya qiluvchi funksiya yarating: Foydalanuvchi to'g'risidagi
ma'lumotlarni olishdan so'ng, parolni tasodifiy generatsiya qiluvchi funksiyani
yaratishni unutmang. Misol:
5. Dastur ishga tushirish: Yuqoridagi funksiyalardan foydalanib dastur ishga
tushirilishi kerak. Misol:
40
Toliq ko’rinishi:
import random
def get_password_requirements():
length = int(input("Parol uzunligi: "))
use_uppercase = input("Katta harflarni qo'llash? (ha/yuq): ").lower() == 'ha'
# Yana talablarni qo'shing...
return length, use_uppercase
def generate_password(length, use_uppercase):
characters = "abcdefghijklmnopqrstuvwxyz"
if use_uppercase:
characters += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
# Yana qo'shimcha belgilar va boshqa kerakli narsalarni qo'shing...
password = ''.join(random.choice(characters) for i in range(length))
return password
def main():
length, use_uppercase = get_password_requirements()
password = generate_password(length, use_uppercase)
print("Generatsiyalangan parol: ", password)
if __name__ == "__main__":
main()
Bu oddiy ko’rinishi, bunga uzingiz amallar va talablar qo’shib takomillashtirishingiz
mumkin.
Dostları ilə paylaş: |