Gerando senhas aleatórias
Publicado por Sandro Marcell 14/04/2008
[ Hits: 6.328 ]
Homepage: http://sanmarcell.wordpress.com
Simples Perl script que gera senhas aleatórias. Tá meio tosco, mas...
Ex.:
prompt: script.pl 30
prompt: Q-P6#z_Ipo?9+#l-Q4z!W=f6R9Nh+e
Outras versões:
Tcl:
http://www.slackbr.org/forum/viewtopic.php?f=46&t=16424
C shell:
http://www.slackbr.org/forum/viewtopic.php?f=45&t=16455
#!/usr/bin/perl # # Gerando senhas aleatorias. # Sandro Marcell (sandro_marcell@yahoo.com.br) # # Uso: <script.pl> ou <script.pl [valor]> # # Onde: # [valor] determinara a quantidade de caracteres que comporao a senha. # # Obs.: # - Somente numeros sao validos para a string [valor]. # - Caso a string [valor] nao seja declarada, o padrao assumido e 10. # - Se a string [valor] possuir espacos ou quaisquer caracteres que nao # sejam numeros, os mesmos serao removidos. # Inicializando variavel: my $senha; # Removendo caracteres invalidos: my $valor = "@ARGV"; $valor =~ s/[^0-9]//g; # Se [valor] nao for declarado, o padrao e assumido: if (!length $valor) { $valor = 10; } # Vetor com caracteres utilizandos para gerar a senha: my @cars = ('a' .. 'z','A' .. 'Z',0 .. 9,qw(! ? ^ ~ @ # $ % & * - _ + = )); # Loop de controle: for (my $i = 0 ; $i < $valor ; $i++) { # Gerando a senha: reverse $senha .= @cars[int(rand(@cars))]; } # Resultado: print "$senha\n"; # Fim
Renomeando arquivos de forma padronizada
Scalar - Alguns dos usos mais comuns deste tipo de variável do Perl
Lendo o conteúdo de uma página da Internet
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Firewire resiste, Bcachefs sai: destaques Linux do dia
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como instalar Counter-Strike 1.6? (6)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (14)
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (0)