sexta-feira, 17 de abril de 2026

Geração de Senhas no Linux

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