Gerando senhas aleatórias
Publicado por Sandro Marcell 02/03/2008
[ Hits: 16.863 ]
Homepage: http://sanmarcell.wordpress.com
Simples script Tcl que gera senhas aleatórias.
Ex.:
prompt > script.tcl 10
prompt > AshX$nj&tK
Talvez seja útil a alguém!
#!/usr/bin/tcl # # Gerando senhas aleatórias. # Sandro Marcell (sandro_marcell@yahoo.com.br) # # Uso: <script.tcl> ou <script.tcl [valor]> # # Onde: # [valor] determinará a quantidade de caracteres que comporão a senha. # # Obs.: # - Somente números são válidos para a string [valor]. # - Caso a string [valor] não seja declarada, o padrão assumido é 8. # - Se [valor] possuir espaços ou quaisquer outros caracteres que não # sejam números, os mesmos serão removidos. # Inicializando variável SENHA: set SENHA {} # Removendo caracteres inválidos: set VALOR [regsub -all {[^0-9]} $argv {}] # Se a string [valor] não for especificada, o padrão é assumido! if {![string length $VALOR]} { set VALOR 8 } # Lista com caracteres utilizados para gerar a senha: set CARS { a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! ? ^ ~ @ # $ % & * - _ + = } # Loop de controle: for {set I 0} {$I < $VALOR} {incr I} { # Gerando a senha: # [expr...] gera um valor aleatório com base no tamanho de $CARS; # [lindex...] pega o valor gerado e utiliza-o como índice para # capturar um caractere em $CARS; # [append...] recebe do lindex os caracteres e concatena-os # na variável $SENHA. append SENHA [lindex $CARS [expr {int([llength $CARS]*rand())}]] } # Resultado: puts stdout $SENHA # Fim
Compactando arquivos e diretórios simultâneamente
Simples visualizador de arquivos texto
Compactando / descompactando arquivos (Melhorado)
Criando uma simples lixeira para o usuário [Melhorado]
Convertendo escalas termométricas
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
erro ao clonar repo github (7)
ASRock H310CM-HG4 vs Linux (1)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (26)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba