Uno dei grandi pregi di Linux è che puoi fare la stessa cosa in centinaia di modi diversi. Perfino un compito semplice come quello di generare password può essere fatta in molti modi. Eccone 10.
Generare una password casuale
Per ognuno di questi comandi puoi inserire una modifica per settare una certa lunghezza della password stessa o limitarla ai primi x caratteri della stessa. Allo stesso tempo puoi usare un programma come LastPass per non doverle imparare tutte a memoria.
Il primo metodo usa SHA e base64
Il codice è questo:
date +%s | sha256sum | base64 | head -c 32 ; echo
Questo altro metodo usa le funzioni built-in /dev/urandom e filtra i caratteri che normalmente si possono usare in una password, poi mostra i primi 32
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
Questo metodo, invece, utilizza la funzione rand di openssl, se non l’hai installato, passa oltre.
openssl rand -base64 32
Questo funziona come l’altro metodo con urandom, ma al contrario. Molto potente.
tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
Un altro esempio con filtri, ancora una volta con l’utilissima funzione urandom.
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo
Ancora urandom, ancora più sempice.
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6
Questo codice invece riesce ad integrare l’utile comando dd.
dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
Puoi perfino creare una password random che può essere scritta utilizzando una sola mano.
</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo ""
Se usi queste funzioni molto spesso, può essere una buona idea creare delle funzioni. In questo caso potrai usare il comando randpw ogni volta che vorrai creare una password random. Puoi inserire il tutto nel file ~/.bashrc.
randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
Si può usare la stessa sintassi per rendere ognuno di questi comandi una funzione, rimetti tutto tra le { }
Ed ecco il metodo più semplice per creare una password da una linea di comando. Questo metodo funziona con Linux, Windows con Cygwin e probabilmente con Mac OS X. Sono sicuro che ci sarà chi si lamenta che queste password non sono random come le altre, ma secondo me sono casuali a sufficienza.
date | md5sum
Se conosci altri metodi faccelo sapere scrivendo un commento qua sotto!