Fortune random password

Volete implementare velocemente un generatore di password casuali su Unix e sapete usare solo un po’ di shell? Siete fortunati, avete fortune! Già, il programma che sceglie a caso massime e frasi da un database…

Come procedere?

In una directory qualunque scrivete un file di testo che contenga tutti i caratteri alfabetici, minuscoli e maiuscoli, uno per riga e separati da una riga che contenga un solo % (simbolo di percentuale), aggiungete nello stesso modo i numeri da 0 a 9 e i caratteri non alfabetici che volete (punto, virgola, parentesi ecc). Poi su quel file usate il programma strfile, nel modo più semplice: strfile file. Il programma genererà un file binario adatto a velocizzare il lavoro di fortune. Naturalmente man strfile per i particolari.

Il più è fatto, se volete creare subito una password utilizzate fortune e come argomento la directory in cui avete messo il file con i caratteri (se nella directory vi sono file di altro genere usate anche il nome del file). Utilizzate fortune tante volte quant’è la lunghezza in caratteri della password che volete generare: prendete nota e siete a posto.

Se volete automatizzare il tutto naturalmente fate uno script di shell, tipo questo che permette anche di scegliere il numero di caratteri della password (è l’argomento da dare allo script, altrimenti usa un default di 8 caratteri):

#!/bin/sh

# Genera passwd di lunghezza $1 caratteri utilizzando fortune...
# Senza argomento default a 8 caratteri

dir=$HOME/Sfortune/Randpwd/
pdef=8

if [ $1 ]; then
        plength=$1
else
        plength=$pdef
fi

i=1

while [ $i -le $plength ]
        do
                echo -n $(fortune $dir)
                i=$(( $i + 1 ))
        done

# Newline finale
echo
Annunci