- la mia ridotta fantasia
- la volontà di non usare la stessa password
- la mia ridotta memoria (non è vero, ma i vuoti bisogna sempre considerarli)
Prendete
- una struttura base
- una manciata di bash (facoltativa)
- un po' di pazienza
Perché?
Perché aggiunge un caos ordinato, mnemonico e incrementa la lunghezza complessiva della password.
Consideriamo quindi di utilizzare come struttura base un bel
$_PWD[]
Ok, non è troppo lunga ed è abbastanza facile da ricordare, ma soprattutto include al suo interno un paio di caratteri speciali.
Ora è il momento di mescolare la manciata di bash. Ok ho la struttura di base e potrei inserire la mia password che, per semplicità di utilizzo, facciamo coincidere con il nome del sito e il mese in cui sto cambiando la password, ad esempio
$_PWD[twitter04]
ma nel caso di una "fuga di informazioni" sarebbe troppo facile risalire a tutte le altre (presupponendo un cambio contemporaneo delle password ovviamente). Quello che io ho pensato di fare è un ciclo di md5, condito con il mese, tante volte quante le lettere del sito in questione e prendere i 4 caratteri a partire dalla posizione corrispondente al mese...
eh?
#! /bin/bash
lunghezzasito=${#1}
i=0
mese=`date +%m`
password=`echo $1$mese`
while [ "$i" -lt "$lunghezzasito" ]
do
pass=`echo $password$mese | md5sum`
let i++
done
echo ${password:$mese:4}
lunghezzasito=${#1}
i=0
mese=`date +%m`
password=`echo $1$mese`
while [ "$i" -lt "$lunghezzasito" ]
do
pass=`echo $password$mese | md5sum`
let i++
done
echo ${password:$mese:4}
Chiaro, no? Tornando all'esempio di twitter, supponendo di aver salvato il file e dato un chmod +x otteniamo questo
overflowsith@icarus:~$ ./password twitter
19a8
19a8
di conseguenza la nostra password completa diventa:
$_PWD[19a8]
Ah, un po' di pazienza dicevo. Sì, quella serviva per arrivare fino a qui e leggere questo delirio :)