Come creare un generatore di password casuali in Python

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:

esecuzione del software

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:

risultato check sicurezza password

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 🙂

2 Replies to “Come creare un generatore di password casuali in Python”

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*