In questo articolo andiamo a vedere un semplice algoritmo di generazione password casuali che ho personalmente sviluppato in Python.
Vedremo come è possibile ottenere password sicure e di lunghezza variabile scrivendo veramente poche righe di codice.
1. Perché una password casuale?
Utilizzare password generate casualmente è più sicuro di utilizzare password con senso logico per diversi motivi. In primis una password casuale è praticamente impossibile da indovinare nel momento in cui qualcuno provi manualmente a indovinare la tua password.
Il primo tentativo che farà chi vorrà rubarti una password sarà creare combinazioni con il tuo nome e il tuo cognome magari concatenato ad una data e così via … difficilmente un umano scriverebbe caratteri casuali (lettere e numeri) per cercare di indovinare una password.
In secondo luogo, molti algoritmi di bruteforcing utilizzano dei file di milioni di righe contenenti tutte le parole di senso compiuto quindi una password casuale sarà utile anche in questa circostanza.
2. Passiamo al codice
Qui di seguito andrò ad incollare il breve codice pensato da me e successivamente nelle righe sotto darò un piccolo commento riguardo il come ho deciso di implementare il tutto.
Premetto che so che esistono siti online che generano password con algoritmi ben più complessi e migliori del mio, questo articolo vuole servire più come esercizio e lezione pratica di come crearne uno.
# Password generator
# Author: Fabio Biffi
# Version: 1.0
# imports
import string
import random
# declaring variables
password_length = 0
password = ''
# starting executing
print('\n\n*** GENERATORE DI PASSWORD CASUALI *** \nBy Fabio Biffi')
password_length = input('Scegli la lunghezza della password: ')
for i in range(int(password_length)):
if (random.randint(1, 10) % 2 == 0):
password = password + random.choice(string.ascii_letters)
else:
password = password + random.choice(string.digits)
print('\nla tua password generata è: ' + password + '\n\n\n')
In maniera molto semplice il software non fa altro che chiederti la lunghezza della password che vuoi generare (più è lunga e più è sicura) e successivamente genera un numero intero casuale, se tale numero è pari allora inserisce una lettera casuale nella password. Se il numero è dispari inserisce un numero casuale nella password.
Queste operazioni sono all’interno di un ciclo for che viene eseguito il numero di volte uguale alla lunghezza della password specificata in precedenza.
3. Esecuzione
Lanciamo il programma dando come lunghezza della password 8 caratteri ovvero la lunghezza minima consigliata. Questo è il risultato:

Successivamente ho copiato la password generata e l’ho incollata in un sito di “controllo password” per verificarne l’effettivo livello di sicurezza. Questo è il risultato:

il sito utilizzato per il controllo della password è il seguente:
https://password.kaspersky.com/it/
4. Conclusioni
Abbiamo visto come è possibile in pochissime righe di codice creare un discreto generatore di password.
Fatemi sapere nei commenti se avete idee per estendere questo piccolo programma per renderlo più completo. Ciao e alla prossima 🙂
Puoi Scrivere un codice Python che provi tutte le combinazioni di lettere possibili?
Lo useresti per entrare nell’account di qualcun altro, quindi no 🙂