Gerando senhas aleatórias

Publicado por Sandro Marcell 14/04/2008

[ Hits: 6.273 ]

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

Graficos com barras em Perl

Separa os dígitos de um número

triangulo

Escrevendo varias linhas em um arquivo qualquer

Cálculo do MDC em Perl para quantidade ilimitada de parâmetros


  

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