Gerador de senhas com Dialog
Publicado por Giovani Ferreira 20/09/2006
[ Hits: 10.347 ]
Homepage: http://jova2.worpress.com
Continuando meus estudos sobre Shell Script e Dialog, aperfeiçoei um script gerador de senhas criado anteriormente, agora ele conta com uma interface em Dialog muito legal.
#!/bin/bash #Script gerador de senhas, #Feito por Giovani Ferreira. #Criado com base na apostila e exemplos #de Aurélio Marinho Jargas. #Material disponivel em http://aurelio.net/shell/dialog/ # # # proxima=primeira # loop principal while : ; do # Aqui é identificada qual tela deve ser mostrada. # Em cada tela são definidas as variáveis 'anterior' # e 'proxima' # que definem os rumos da navegação. case "$proxima" in primeira) proxima=carac dialog \ --cr-wrap \ --sleep 4 \ --backtitle 'Gerador de Senhas' \ --title 'Script Gerador de Senhas' \ --infobox " Este é um script gerador de senhas de acordo com o comando mkpasswd. Feito por Giovani Ferreira. Navegação: <Proxima > Próxima Tela. <Anterior> Tela Anterior. Esc Sai do Programa. " 15 60 ;; carac) anterior=primeira proxima=numer carac=$(dialog --stdout \ --backtitle 'Gerador de Senhas' \ --ok-label 'Próximo' \ --cancel-label 'Anterior' \ --inputbox 'Informe quantos caracteres sua senha será composta:' 10 45) ;; numer) anterior=carac proxima=maius numer=$(dialog --stdout \ --backtitle 'Gerador de Senhas' \ --ok-label 'Próximo' \ --cancel-label 'Anterior' \ --inputbox 'Informe quantos números farão parte da senha:' 10 45) ;; maius) anterior=numer proxima=minus maius=$(dialog --stdout \ --backtitle 'Gerador de Senhas' \ --ok-label 'Próximo' \ --cancel-label 'Anterior' \ --inputbox 'Informe quantas letras MAIUSCULAS farão parte da senha:' 10 45) ;; minus) anterior=maius proxima=espec minus=$(dialog --stdout \ --backtitle 'Gerador de Senhas' \ --ok-label 'Próximo' \ --cancel-label 'Anterior' \ --inputbox 'Informe quantas letras minusculas farão parte da senha:' 10 45) ;; espec) anterior=minus proxima=final espec=$(dialog --stdout \ --backtitle 'Gerador de Senhas' \ --ok-label 'Próximo' \ --cancel-label 'Anterior' \ --inputbox 'Informe quantos carasteres especiais farão parte da senha:' 10 45) ;; final) if test $((numer+maius+minus+espec)) -gt $carac then proxima=carac dialog \ --cr-wrap \ --sleep 5 \ --backtitle 'Gerador de Senhas' \ --title 'Parâmetros invalidos:' \ --infobox " Impossivel criar a senha com: Números: $numer MAIUSCULAS: $maius Minusculas: $minus Especiais: $espec Em apenas $carac caracteres. Aguarde que o programa será reiniciado... " 15 50 else s1=$( mkpasswd -l $carac -d $numer -C $maius -c $minus -s $espec ) s2=$( mkpasswd -l $carac -d $numer -C $maius -c $minus -s $espec ) s3=$( mkpasswd -l $carac -d $numer -C $maius -c $minus -s $espec ) proxima=reinicio dialog \ --cr-wrap \ --sleep 5 \ --backtitle 'Gerador de Senhas' \ --title 'Sugestões de senhas!' \ --infobox " Três sugestões de senhas de acordo com os parâmetros passados. $s1 $s2 $s3 " 15 50 \ --and-widget \ --begin 35 50 \ --yesno 'Deseja reiniciar o programa?' 0 0 if test $? -eq 0 then proxima=primeira else break fi #break fi ;; *) echo "Janela desconhecida '$proxima'." echo Abortando programa... exit esac # Aqui é feito o tratamento genérico de Código de Retorno # de todas as telas. Volta para a tela anterior se for # CANCELAR, sai do programa se for ESC. retorno=$? [ $retorno -eq 1 ] && proxima=$anterior # cancelar [ $retorno -eq 255 ] && break # Esc done
Verificar status de carga da bateria do notebook
Dependências de Emuladores e DosBox
cambada_oneko - gatinhos coloridos perseguindo o ponteiro do mouse
Reinicia todos os trabalhos de todas as filas CUPS
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Utilizando a Ferramenta xcheckrestart no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Abrir um arquivo URL pelo Clipper (8)
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









