🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Generatore di Password con Python

Codegrind Team•Jul 10 2024

Descrizione del Progetto

In questo progetto, realizzerai un generatore di password utilizzando Python. Il programma permetterĂ  di generare password sicure in base a specifici criteri di lunghezza e tipi di caratteri inclusi (lettere, numeri e simboli).

Requisiti

  1. Librerie Python: Utilizzare la libreria random per generare i caratteri casuali.
  2. Interfaccia Utente: Creare una semplice interfaccia utente a riga di comando che permetta all’utente di specificare la lunghezza della password e i tipi di caratteri inclusi.
  3. Criteri di Generazione:
    • Specificare la lunghezza della password.
    • Includere lettere minuscole, lettere maiuscole, numeri e simboli a seconda della scelta dell’utente.
  4. Validazione: Assicurarsi che la password generata soddisfi i criteri specificati.

Passaggi

  1. Importare la Libreria Random: Utilizzare la libreria random per generare i caratteri casuali.
  2. Creazione del Programma:
    • Chiedere all’utente di specificare la lunghezza della password.
    • Chiedere all’utente quali tipi di caratteri includere.
    • Generare una password casuale che soddisfi i criteri specificati.
    • Mostrare la password generata all’utente.

Esempio di Codice

import random
import string

def generate_password(length, include_lowercase, include_uppercase, include_digits, include_symbols):
    characters = ""
    if include_lowercase:
        characters += string.ascii_lowercase
    if include_uppercase:
        characters += string.ascii_uppercase
    if include_digits:
        characters += string.digits
    if include_symbols:
        characters += string.punctuation

    if not characters:
        raise ValueError("Devi selezionare almeno un tipo di carattere per generare una password.")

    password = ''.join(random.choice(characters) for _ in range(length))
    return password

def main():
    print("Generatore di Password Sicure")

    while True:
        try:
            length = int(input("Inserisci la lunghezza della password: "))
            include_lowercase = input("Includere lettere minuscole? (s/n): ").lower() == 's'
            include_uppercase = input("Includere lettere maiuscole? (s/n): ").lower() == 's'
            include_digits = input("Includere numeri? (s/n): ").lower() == 's'
            include_symbols = input("Includere simboli? (s/n): ").lower() == 's'

            password = generate_password(length, include_lowercase, include_uppercase, include_digits, include_symbols)
            print(f"La tua password generata è: {password}")

        except ValueError as e:
            print(e)

        another = input("Vuoi generare un'altra password? (s/n): ").lower()
        if another != 's':
            break

if __name__ == "__main__":
    main()

Istruzioni per l’Esecuzione

  1. Salva il codice in un file: Ad esempio generatore_password.py.
  2. Esegui il programma:
    python generatore_password.py
    
  3. Interazione con l’utente:
    • Segui le istruzioni per specificare la lunghezza della password e i tipi di caratteri da includere.
    • Ricevi la password generata in base ai criteri specificati.
    • Decidi se generare un’altra password o terminare il programma.

Estensioni Possibili

  1. Interfaccia Grafica: Utilizzare una libreria come tkinter per creare un’interfaccia grafica per il generatore di password.
  2. Salvataggio delle Password: Aggiungere funzionalitĂ  per salvare le password generate in un file o in un database.
  3. Generazione di Frasi di Sicurezza: Implementare una funzionalitĂ  per generare frasi di sicurezza utilizzando parole casuali.