In un mondo digitale sempre più esposto a rischi informatici, la sicurezza inizia da una password robusta. Invece di affidarsi al caso (o alla solita “Password123”), perché non creare il tuo strumento personale?
Vediamo come costruire un generatore di password utilizzando Python che permetta di personalizzarne la lunghezza. Utilizzeremo due moduli presenti in Python che non richiedono installazioni esterne: random per la scelta casuale e string per gestire i set di caratteri.
Il modulo String: Gestire i caratteri
Uno degli errori comuni è scrivere manualmente stringhe contenenti lettere e numeri. Python offre il modulo string, che contiene costanti predefinite utili per questo scopo:
- string.ascii_letters: include tutte le lettere dalla A alla Z (maiuscole e minuscole)
- string.digits: contiene i numeri da 0 a 9
- string.punctuation: include tutti i simboli speciali (es. !, @, #)
La funzione random.choice
Per rendere la password casuale e complessa, utilizzeremo la funzione random.choice(). Questa funzione seleziona un elemento casuale da una sequenza. Ripetendo questa operazione per il numero di volte desiderato, otterremo la nostra stringa finale.
Lo script
Di seguito il codice dello script che possiamo salvare con il nome password_gen.py
import random
import string
def genera_password(lunghezza, includi_simboli):
caratteri = string.ascii_letters + string.digits
if includi_simboli:
caratteri += string.punctuation
password = ''.join(random.choice(caratteri) for _ in range(lunghezza))
return password
try:
print("--- GENERATORE DI PASSWORD ---")
lunghezza_input = int(input("Inserisci la lunghezza desiderata: "))
simboli = input("Vuoi includere caratteri speciali? (s/n): ").lower() == 's'
risultato = genera_password(lunghezza_input, simboli)
print(f"\nLa tua nuova password è: {risultato}")
print("-------------------------------------")
except ValueError:
print("Errore: Inserisci un numero intero per la lunghezza.")Proviamo ad utilizzare lo script da linea di comando
$ python password_gen.py
--- GENERATORE DI PASSWORD ---
Inserisci la lunghezza desiderata: 20
Vuoi includere caratteri speciali? (s/n): s
La tua nuova password è: >\1/!,.~OTE)lP7Iwf*x
------------------------------------Questo script è un punto di partenza. Si potrebbe personalizzare ulteriormente o integrarlo in progetti più complessi. Tieni sempre presente che una password è considerata sicura se è lunga almeno 12-16 caratteri e combina diverse tipologie di simboli.
