1.3 KiB
1.3 KiB
passwordgenerator.py
from itertools import product
def generate_passwords(digit_chars, letter_chars, pattern_structure):
"""
Generiert Passwörter anhand einer Strukturangabe.
:param digit_chars: Erlaubte Ziffern (z. B. '01234')
:param letter_chars: Erlaubte Buchstaben (z. B. 'defghi')
:param pattern_structure: Liste mit Symbolen: 'D' für Ziffer, 'L' für Buchstabe
:return: Generator für Passwörter
"""
charset_map = {
'D': digit_chars,
'L': letter_chars
}
# Erzeuge eine Liste von Zeichensätzen für jede Position im Muster
charsets = [charset_map[symbol] for symbol in pattern_structure]
# Erzeuge alle Kombinationen
for combo in product(*charsets):
yield ''.join(combo)
def save_passwords_to_file(password_generator, output_path):
"""
Speichert generierte Passwörter in eine Datei.
"""
with open(output_path, 'w') as file:
for pw in password_generator:
file.write(pw + '\n')
if __name__ == "__main__":
digits = "01234"
letters = "defghi"
structure = ['D', 'D', 'L', 'L', 'L', 'D', 'D'] # Beispiel: 2 Zahlen, 3 Buchstaben, 2 Zahlen
pw_gen = generate_passwords(digits, letters, structure)
save_passwords_to_file(pw_gen, "wordlist.txt")