Gerando senhas aleatórias

Publicado por Sandro Marcell 14/04/2008

[ Hits: 6.035 ]

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

Calc.pl

Escrevendo varias linhas em um arquivo qualquer

Separa os dígitos de um número

Cadastro usando arquivos .txt para guardar dados

Soma varios valores e mostra sua media


  

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