O Linux tem um dicionário de palavras em /usr/share/dict/words (não sei se todas as distribuições usam o mesmo caminho). Uma bom uso dessa lista de palavras é a geração de senhas.
grep -Pv "\W" /usr/share/dict/words | shuf -n 3 | xargs | tr ' ' '-'
earning-artistes-steatoses
O grep permite selecionar as palavras compostas apenas por letras; o shuf escolhe 3 aleatoriamente; o xargs as junta numa linha só; o tr troca os espaços por traços.
Se eu quiser gerar uma senha numérica, posso usar o shuf da seguinte maneira:
shuf -i 10-99 | shuf -n 3 | xargs | tr -d ' '
726580
Ele vai gerar todos os números entre 10 e 99 (todos com 2 dígitos) e escolher 3. Então, ele elimina os espaços e o resultado é um número com 6 digítos.
Uma forma de gerar uma senha longa é calcular o md5 de um arquivo. Como forma de agregar informação, podemos adicionar os nanossegundos do relógio.
find . -type f | head -n 1000 | shuf -n 1 | \
(xargs md5sum; echo $(date +%N)) | \
xargs | md5sum
83be018d2a490823ef949005bd7789e7 -
Neste caso, estou procurando por um arquivo qualquer (limitei a 1000, para não vasculhar o disco todo).
Como openssl sempre está disponível, pode-se também usá-lo para gerar senhas:
openssl rand -base64 12
IZgLy20O0GjWP2ze

Nenhum comentário:
Postar um comentário