Wednesday, October 12, 2016

Como gerar senhas aleatórias a partir da linha de comando

Como gerar senhas aleatórias a partir da linha de comando


Existem diversas maneiras de se gerar senhas aleatórias. Esta dica irá mostrar algumas formas estranhas e interessantes de se fazer o mesmo usando a linha de comando.
 $ date +%s | sha256sum | base64 | head -c 32 ; echo
YjQzMzA2MmQyMjAzYTc0NzUwNGEwMjc5
Fácil de guardar, não? Se você quiser que a senha gerada tenha menos caracteres, basta alterar o comando head -c 32. 32 é o número de caracteres que são selecionados do comando para exibir na senha. O comando headexibe por padrão o número de linhas, a opção "-c" muda o comportamento do programa para exibir um número determinado de bytes do arquivo ou da saida do comando.
O método a seguir utiliza o recurso /dev/urandom e filtra com o comando tr apenas os caracteres que normalmente usamos em senhas, letras maiúsculas e minúsculas e números.
 < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
oiixwchjBMtaprHoF4VdzRrZQxn9Kgcf
Ainda uma outra forma, usando a função rand do programa openssl.
 openssl rand -base64 32
ETOARSsghkOrvJdYVpWgyrdqi+T9yrjhgzeg0SHyysM=
Para encerrar, uma maneira mais fácil de se gerar uma senha, usando o comando date:
 date | md5sum
b948c540b63afd5e06bbd2756b3f783f -
Para limitar o número de caracteres da senha:
 date | md5sum | head -c8 ; echo
828e4863

Available link for download