Password Generator

Il tutorial originale si trova sul sito codeclubproject.org

Prima di cominciare riflettiamo sulla necessità di una password robusta per tenere al sicuro la nostra privacy con un video piuttosto divertente.

Guarda anche War Games

Punto 1

Controlla quanto è sicura la tua password

Su internet sono disponibili alcune applicazioni che testano la sicurezza della propria password indicando le vulnerabilità e il tempo necessario per essere scoperte:

https://howsecureismypassword.net/

https://password.kaspersky.com/it/

Divertiti a fare differenti prove

Punto 2

Creiamo con Python un programma che generi ogni volta un carattere casuale da mettere insieme per formare una password più robusta

Per scrivere un programma con Python possiamo usare Trinket un’applicazione che permette di scrivere codice direttamente nel Browser

Apri Trinket in una nuova finestra

Punto 3

Scriviamo ed eseguiamo passo passo le linee di codice in Python

  • creiamo una lista di caratteri alfabetici dentro una variabile che chiameremo chars 

screenshot

  • importiamo in Python il modulo random necessario per scegliere un carattere a caso, i comandi sono import e random

screenshot

  • adesso è possibile scegliere un carattere qualsiasi dalla lista e inserirlo nella variabile password attraverso l’istruzione/funzione random.choice()

 

  • adesso proviamo a stampare questa brevissima password (un solo carattere!) attraverso la funzione/istruzione  print()

screenshotscreenshot

Cliccando sul pulsante “Run” dell’applicazione vedremo apparire la lettera scelta casualmente, continuando ad eseguire il programma la lettera cambierà sempre casualmente

Punto 4

Una password non sarà mai sicura se contiene solo caratteri alfabetici, inseriamo allora anche dei numeri

  • inseriamo dei numeri nella variabile chars

screenshot

  • Per un password robusta nella variabile chars inserisci anche le maiuscole (A-Z), i segni di interpunzione (!,._-?)

Punto 5

Adesso creiamo una password più lunga di un solo carattere!

  • Per creare una password più lunga bisogna aggiungere un carattere per volta all’interno della variabile password che inizialmente sarà vuota

screenshot

  • Per inserire più volte un carattere all’interno della variabile occorre creare un ciclo for

for c in range(10): ripete 10 volte il ciclo (non dimenticare di inserire i due punti e di indentare l’istruzione successiva, basta un tab sulla tastiera)

bisogna anche aggiungere += per aggiungere un nuovo carattere alla variabile password ogni volta

screenshot

  • Ovviamente cambiando il valore del ciclo possiamo generare una password molto più lunga di 10 caratteri!

Punto 6

Proviamo a modificare il programma in modo che sia l’utente a scegliere la lunghezza della password

  • per chiedere all’utente di inserire la lunghezza della password useremo la funzione/istruzione input() e conserveremo il valore nella variabile length

screenshot

  • poiché il valore conservato nella variabile length è una stringa (in informatica una stringa è una sequenza di caratteri, quindi il numero inserito per il computer non è un numero ma un carattere) bisogna usare la funzione/istruzione int() per convertire il valore della variabile in numero intero

screenshot

  • adesso possiamo passare il valore inserito nella variabile length nel ciclo for al posto nel numero 10, così il ciclo sarà ripetuto il numero di volte scelto dall’utente

screenshot

Punto 7

Creiamo più di una password per volta per poter scegliere quella che più ci piace

  • occorre inserire nuovamente un ciclo for prima della variabile password

screenshot

  • è necessario indentare (con il tasto tab) tutte le istruzioni che seguono il ciclo per evitare che il programma generi un errore

NOTA CHE LA LETTERA CHE SEGUE IL CICLO PUÒ ESSERE SCELTA A CASO (nel primo ciclo la lettera “c” ricorda che il ciclo sceglierà un carattere, nel secondo la lettera “p” ricorda che il ciclo genererà le passwords

Punto 8

Una piccola sfida: modifica il programma per consentire all’utente di scegliere anche il numero di passwords

Non riesci e vuoi un aiuto? clicca sulla soluzione

Punto 9

Approfondimenti

Esistono diverse tecniche per creare password sicure ma anche facili da ricordare. Diceware è una tecnica senza computer per creare passphrase (password + phrase = frase chiave) molto sicure e facili da ricordare

Collegamento: Diceware