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
- Librerie Python: Utilizzare la libreria
random
per generare i caratteri casuali. - 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.
- Criteri di Generazione:
- Specificare la lunghezza della password.
- Includere lettere minuscole, lettere maiuscole, numeri e simboli a seconda della scelta dell’utente.
- Validazione: Assicurarsi che la password generata soddisfi i criteri specificati.
Passaggi
- Importare la Libreria Random: Utilizzare la libreria
random
per generare i caratteri casuali. - 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
- Salva il codice in un file: Ad esempio
generatore_password.py
. - Esegui il programma:
python generatore_password.py
- 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
- Interfaccia Grafica: Utilizzare una libreria come
tkinter
per creare un’interfaccia grafica per il generatore di password. - Salvataggio delle Password: Aggiungere funzionalità per salvare le password generate in un file o in un database.
- Generazione di Frasi di Sicurezza: Implementare una funzionalitĂ per generare frasi di sicurezza utilizzando parole casuali.