Bu kod ๐ brute-force usuli orqali parolni topishga harakat qiladi.
๐ Vazifasi
1. ๐ค Foydalanuvchi parol kiritadi
2. ๐ค Kod barcha imkoniyatlarni tekshiradi
- ๐ Belgilar kombinatsiyasini hosil qiladi
- ๐ Har bir kombinatsiyani parol bilan solishtiradi
3. โ Agar parol topilsa, natijani chiqaradi
- โณ Necha sekundda topilganini ham koโrsatadi
4. โ Agar parol topilmasa, xabar beradi
๐ Qanday ishlaydi?
- โก๏ธ "abc123" kabi oddiy parollar uchun tez topadi
- ๐ก "aZ9!x" kabi murakkab parollar uchun koโproq vaqt talab qiladi
- ๐ Barcha harflar va raqamlarni ishlatadi (A-Z, a-z, 0-9)
- ๐ Parol uzunligiga qarab avtomatik moslashadi
๐ Bu kod faqat ilmiy va taโlim maqsadida ishlatilishi kerak!
import itertools
import string
import time
def brute_force(password, max_length=None, chars=None):
"""
Brute-force orqali parolni topishga harakat qiladi.
:param password: Foydalanuvchi kiritgan parol
:param max_length: Maksimal uzunlik (agar berilmasa, parol uzunligi bilan belgilanadi)
:param chars: Foydalaniladigan belgilar (standart: harflar + raqamlar)
"""
if chars is None:
chars = string.ascii_letters + string.digits # A-Z, a-z, 0-9
if max_length is None:
max_length = len(password) # Parol uzunligi asosida belgilanadi
start_time = time.time()
for length in range(1, max_length + 1):
for attempt in itertools.product(chars, repeat=length):
attempt_password = "".join(attempt)
if attempt_password == password:
end_time = time.time()
print(f"\n[+] Parol topildi: {attempt_password}")
print(f"๐ Sarflangan vaqt: {end_time - start_time:.2f} sekund")
return
# Har 10,000 ta urinishdan keyin jarayonni koโrsatish
if itertools.product(chars, repeat=length).__sizeof__() % 10000 == 0:
print(f"๐ Testing: {attempt_password}")
print("\n[-] Parol topilmadi.")
# Foydalanuvchi inputi
password = input("๐ Parolni kiriting: ").strip()
brute_force(password)
๐ Vazifasi
1. ๐ค Foydalanuvchi parol kiritadi
2. ๐ค Kod barcha imkoniyatlarni tekshiradi
- ๐ Belgilar kombinatsiyasini hosil qiladi
- ๐ Har bir kombinatsiyani parol bilan solishtiradi
3. โ Agar parol topilsa, natijani chiqaradi
- โณ Necha sekundda topilganini ham koโrsatadi
4. โ Agar parol topilmasa, xabar beradi
๐ Qanday ishlaydi?
- โก๏ธ "abc123" kabi oddiy parollar uchun tez topadi
- ๐ก "aZ9!x" kabi murakkab parollar uchun koโproq vaqt talab qiladi
- ๐ Barcha harflar va raqamlarni ishlatadi (A-Z, a-z, 0-9)
- ๐ Parol uzunligiga qarab avtomatik moslashadi
๐ Bu kod faqat ilmiy va taโlim maqsadida ishlatilishi kerak!
import itertools
import string
import time
def brute_force(password, max_length=None, chars=None):
"""
Brute-force orqali parolni topishga harakat qiladi.
:param password: Foydalanuvchi kiritgan parol
:param max_length: Maksimal uzunlik (agar berilmasa, parol uzunligi bilan belgilanadi)
:param chars: Foydalaniladigan belgilar (standart: harflar + raqamlar)
"""
if chars is None:
chars = string.ascii_letters + string.digits # A-Z, a-z, 0-9
if max_length is None:
max_length = len(password) # Parol uzunligi asosida belgilanadi
start_time = time.time()
for length in range(1, max_length + 1):
for attempt in itertools.product(chars, repeat=length):
attempt_password = "".join(attempt)
if attempt_password == password:
end_time = time.time()
print(f"\n[+] Parol topildi: {attempt_password}")
print(f"๐ Sarflangan vaqt: {end_time - start_time:.2f} sekund")
return
# Har 10,000 ta urinishdan keyin jarayonni koโrsatish
if itertools.product(chars, repeat=length).__sizeof__() % 10000 == 0:
print(f"๐ Testing: {attempt_password}")
print("\n[-] Parol topilmadi.")
# Foydalanuvchi inputi
password = input("๐ Parolni kiriting: ").strip()
brute_force(password)