Gerador de senhas aleatórias via linha de comando, escrito em Object Pascal (Free Pascal). Simples: você roda o comando e ele imprime uma senha aleatória no terminal.
Às vezes você só quer uma senha forte na hora, sem abrir gerenciador de senha nenhum. gerasenha
existe pra isso: um binário pequeno, sem dependências além da lib padrão do FreePascal, que gera e
imprime a senha e pronto.
-
Free Pascal Compiler (fpc) instalado. No Linux, geralmente:
sudo apt install fpc
Na raiz do projeto:
fpc gerasenha.pasIsso gera o binário gerasenha (ou gerasenha.exe no Windows) no mesmo diretório.
Sem nenhuma opção, gera uma senha de 12 caracteres usando letras minúsculas, maiúsculas, números e símbolos:
./gerasenhaExemplo de saída:
K9m#pQ2xz!aL
| Opção | Descrição |
|---|---|
-t N, --tamanho N |
Define o tamanho da senha (padrão: 12) |
--sem-maiusculas |
Não usa letras maiúsculas (A-Z) |
--sem-minusculas |
Não usa letras minúsculas (a-z) |
--sem-digitos |
Não usa números (0-9) |
--sem-simbolos |
Não usa símbolos (!@#$%&*+-=?) |
-h, --help |
Mostra a ajuda com as opções disponíveis |
O tamanho máximo aceito é 256 caracteres.
Senha de 20 caracteres:
./gerasenha -t 20Senha só com letras e números (sem símbolos), 16 caracteres:
./gerasenha -t 16 --sem-simbolosSenha apenas numérica, tipo PIN de 6 dígitos:
./gerasenha -t 6 --sem-maiusculas --sem-minusculas --sem-simbolosSe todos os tipos de caractere forem desabilitados ao mesmo tempo, ou se o tamanho pedido for 0
ou negativo, o programa avisa o erro e não gera nada:
$ ./gerasenha --sem-maiusculas --sem-minusculas --sem-digitos --sem-simbolos
Erro: pelo menos um tipo de caractere deve estar habilitado.O gerador monta uma "cesta" de caracteres possíveis (letras minúsculas, maiúsculas, dígitos e
símbolos, de acordo com as opções escolhidas) e sorteia, um a um, N caracteres dessa cesta usando
Random do Free Pascal — Randomize é chamado no início para semear o gerador com um valor
diferente a cada execução.
Não é criptograficamente seguro (não use para gerar chaves de criptografia ou segredos de alto risco); para senhas do dia a dia é mais que suficiente.
gerasenha.pas # todo o código-fonte do programa
README.md # este arquivo
LICENSE # licença do projeto
Este projeto é distribuído sob os termos da licença presente em LICENSE.