Come generare password con Excel

    COME_GENERARE_PASSWORD_EXCEL_VISIONE_COMPLESSIVA
    GENERARE_PASSWORD_EXCEL_365

    In questa guida scopriamo come generare password su Excel - il file è compatibile con Excel 365 o Excel online, puoi scaricarlo direttamente dal pulsante qui sotto!

    COME_GENERARE_PASSWORD_EXCEL_VISIONE_COMPLESSIVA

    Per copiare la password generata, ti basterà fare copia (CTRL+C) e incollarla come valore (CTRL+ALT+V). A ogni modifica dei parametri, si genererà una nuova password.

    Un disclaimer, tecnico, necessario: la guida spiega come creare, passo passo, un generatore di password su Excel. A seconda di alcuni parametri definiti dall'utente, il file genererà una sequenza di caratteri cui sarà associato il relativo punteggio di entropia per evidenziare se la sequenza possa essere, eventualmente, utilizzata come password. L'entropia è uno dei parametri (in bit) per verificare quanto sia difficile scoprire la password, utilizzando come regola:

    ENTROPIA = NUMERO_CARATTERI_PASSWORD*LOG2(NUMERO_CARATTERI_POSSIBILI)

    Quanto più è alto questo valore, tanto più sarà difficile scovare la password - un bit in più raddoppia il numero di tentativi richiesti per scovare la password inserita, quindi in linea di massima meglio inserire molti caratteri nel pool di partenza e scegliere password più lunghe per avere una maggiore sicurezza.

    Generare una password veramente casuale è molto complesso, in questo caso arriveremo a creare una password pseudo-casuale grazie all'utilizzo della funzione CASUALE.TRA su Excel. Utilizzeremo anche il calcolo dell'entropia come proxy per verificare quanto le singole password siano sicure. Il tema è piuttosto tecnico, ma ci basterà sapere che quanto più è alta l'entropia, tanto più la password sarà sicura. Ringrazio Federico Leo Redi per avermi supportato nella creazione del file, in particolare evidenziando alcuni aspetti tecnici da non sottovalutare parlando di temi così ampi e complessi.

    I dati di partenza per generare password con Excel

    COME_GENERARE_PASSWORD_EXCEL_TABELLE_RIFERIMENTO

    Ci servono due diverse basi dati per generare password con Excel con una buona flessibilità. In questo caso abbiamo:

    • Tabella con i singoli caratteri: questi sono suddivisi in simboli, singole cifre, singoli caratteri minuscoli, singoli caratteri maiuscoli
    • Tabella con un giudizio a seconda del valore di entropia generato dalla sequenza. Se meno di 25, pessima - se meno di 50, debole e così via
    COME_GENERARE_PASSWORD_EXCEL_VISIONE_COMPLESSIVA

    Abbiamo poi alcune specifiche definite dall'utente:

    • Lunghezza password: un numero di caratteri variabile, da 4 a 24
    • Includere simboli, numeri, minuscoli, maiuscoli: in tutti i casi, si può scegliere se inserirli con Y o non inserirli con N

    Sia la lunghezza della password sia le singole scelte funzionano con una convalida dati: nel primo caso è un numero intero da 4 a 24, nel secondo caso è possibile inserire unicamente Y o N nelle celle da C4 a C7

    Come generare dei caratteri casuali su Excel

    COME_GENERARE_PASSWORD_EXCEL_SCELTA_CARATTERI

    I caratteri casuali per la password si generano in automatico a seconda delle singole scelte dell'utente. In questo caso, la formula sarà:

    =ANNULLA.SPAZI(CONCAT(
    SE(PASSWORD!C4="Y";TBL_CARATTERI[SPECIALI];"");
    SE(PASSWORD!C5="Y";TBL_CARATTERI[NUMERI];"");
    SE(PASSWORD!C6="Y";TBL_CARATTERI[MINUSCOLI];"");
    SE(PASSWORD!C7="Y";TBL_CARATTERI[MAIUSCOLI];"")))

    In sostanza stiamo concatenando tutti i singoli valori a seconda dei singoli valori inseriti dall'utente. SE inserisco Y in C4, allora avremo i caratteri speciali. Se inserisco N, non avremo i caratteri speciali e così via.

    ANNULLA.SPAZI e CONCAT si rendono necessari perchè la prima cancella gli spazi eventualmente ottenuti dalla tabella, mentre la seconda ci permette di avere tutto in una singola cella.

    NB: potevamo pensare anche di definire un singolo nome per singola scelta anzichè ottenere i dati da una tabella.

    COME_GENERARE_PASSWORD_EXCEL_NUMERO_CARATTERI

    A questo punto, lavoriamo per trovare il numero di caratteri che ci servono:

    =MATR.TRASPOSTA(SEQUENZA(C3))

    La funzione SEQUENZA crea una sequenza di numeri. Ad esempio SEQUENZA(5) restituisce 1,2,3,4,5 in 5 celle diverse. MATR.TRASPOSTA ci permette di avere questa sequenza in orizzontale. Prendendo il valore in C3, questa formula restituisce un numero variabile a seconda della scelta dell'utente.

    COME_GENERARE_PASSWORD_EXCEL_SINGOLO_CARATTERE_CASUALE

    Vediamo adesso come possiamo generare un valore casuale singolo, la formula si replica poi fino alla cella AB5 (dato che sono massimo 24 caratteri per singola password:

    =SE.ERRORE(SE(E3<>"";
    STRINGA.ESTRAI($E$2;CASUALE.TRA(1;LUNGHEZZA($E$2));1);
    "");"")

    In questo caso, SE E3 (il valore del numero ottenuto da SEQUENZA) è pari a vuoto, allora mettiamo vuoto. Se invece non è vuoto (e quindi SEQUENZA è presente), allora utilizziamo STRINGA.ESTRAI:

    • E2 è il pool di caratteri complessivo
    • CASUALE.TRA(1;LUNGHEZZA($E$2)) significa che prendiamo un numero casuale fra 1 e la LUNGHEZZA di E2. LUNGHEZZA ci restituisce il numero totale di caratteri del nostro pool iniziale, quindi potremmo ottenere il primo così come l'ultimo valore e tutti quelli in mezzo, in maniera pseudo-casuale
    • L'1 finale indica che vogliamo estrarre un singolo carattere

    Dato che purtroppo non esiste una vera e propria iterazione nella funzione CASUALE.TRA, dovremo replicare, come detto, la stessa funzione da E5 ad AB5.

    Come generare password su Excel

    COME_GENERARE_PASSWORD_EXCEL_CREAZIONE_PASSWORD_SINGOLA

    A questo punto, abbiamo tutti i valori che ci servono per generare la password:

    =TESTO.UNISCI("";VERO;E5:AB5)

    TESTO.UNISCI prende tutti i caratteri (a parte le celle vuote) da E5 ad AB5 e ci restituisce la nostra sequenza proprio come la desideriamo.

    COME_GENERARE_PASSWORD_EXCEL_CALCOLO_ENTROPIA_PASSWORD

    Calcoliamo adesso l'entropia in una cella dedicata, in modo da visualizzarla con più semplicità:

    =SE.ERRORE(ARROTONDA(C3*COMP.LOG2(LUNGHEZZA(E2));2);"")

    C3*COMP.LOG2(LUNGHEZZA(E2)) calcola l'entropia, dato che C3 è il numero di caratteri della password e LUNGHEZZA ci restituisce il pool totale di caratteri. COMP.LOG2 restituisce il logaritmo in base 2, necessario per calcolare correttamente il valore finale. Vediamo poi che il valore viene arrotondato con ARROTONDA per una questione di visualizzazione, il 2 finale indica che ci interessano solo le prime due cifre decimali. Se il valore fosse errore, avremmo un valore vuoto.

    COME_GENERARE_PASSWORD_EXCEL_VISUALIZZAZIONE_LUCCHETTI_SICUREZZA

    Vediamo adesso come far apparire i lucchetti, simbolo della sicurezza della password:

    =SE.ERRORE(RIPETI(CARATT.UNI(128274);C14/5);"")

    CARATT.UNI è la funzione di Excel che ci serve per utilizzare dei caratteri unicode all'interno. C'è una bella collezione su Vertex42 che utilizzo spesso, in questo caso abbiamo preso il simbolo del lucchetto e vogliamo che sia replicato un certo numero di volte. Per questo torna utile la funzione RIPETI che ci permette di ripetere un certo carattere un numero di volte specifico - in questo caso il valore dell'entropia in C14, diviso per 5 per migliorare la visualizzazione.

    COME_GENERARE_PASSWORD_EXCEL_GIUDIZIO_SICUREZZA

    Aggiungiamo anche un breve commento alla password, legato all'entropia:

    =SE(C9="";C9;
    CERCA.X(C14;TBL_ENTROPIA[ENTROPIA];TBL_ENTROPIA[GIUDIZIO];;-1))

    SE C9 è uguale a vuoto, inseriamo vuoto. CERCA.X va a cercare C14 nei valori di entropia e ci restituisce il giudizio, il -1 ci serve per ottenere il valore più vicino (uguale o più basso) rispetto all'entropia calcolata.

    COME_GENERARE_PASSWORD_EXCEL_FORMATTAZIONE_CONDIZIONALE

    Per una questione grafica, sono state aggiunte anche alcune regole di formattazione condizionale qui riassunte. A seconda del risultato di entropia, cambierà il colore sia dei lucchetti sia della scritta sicurezza.

    A questo punto, abbiamo terminato! Spero che l'articolo ti sia stato utile, puoi scaricare il file finale qui:

    Lascia un commento

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