Gerando senhas aleatórias

Publicado por Sandro Marcell 14/04/2008

[ Hits: 6.507 ]

Homepage: http://sanmarcell.wordpress.com

Download senha.pl




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

  



Esconder código-fonte

#!/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

Scripts recomendados

Scalar - Alguns dos usos mais comuns deste tipo de variável do Perl

Cálculo de área de uma figura geométrica

Separa os dígitos de um número

Usando comandos shell com Perl

localtime.pl


  

Comentários
[1] Comentário enviado por romenum em 04/11/2010 - 14:15h

como dá pra corrigir a codificação impressa pelo print?
fica exibindo erros ao invês dos acentos gráficos

[2] Comentário enviado por samukasmk em 17/05/2012 - 12:20h

Booouuuaaa Gatoroo!!

é disso que eu estava precisando!

Simples e funcional!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts