[CODE] Gerador de Senhas Aleatórias - Perl

Started by rodweb, 04 de June , 2006, 11:16:32 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

rodweb

To começando com Perl e fiz esse prog pra testar as funções...tah tudo comentado pra vcs..

#!/usr/bin/perl
#Programa: RØD GSA
#Versão: 1.2
#SO's: Linux e Windows.
#Descrição: Gerador de senhas aleatórias
#Coded By: Ø Rodrigo Ø - Digital Underground Group
$ver="v. 1.2"; #Versão do programa
#Inicio do programa
print "\n+---------------[RØD GSA]---------------+\n"; #Mostra menssagem na tela
print "|-------------------------------$ver--|\n"; #Mostra menssagem na tela
print "|                                       |\n"; #Mostra menssagem na tela
print "| Gerador de Senhas Aleatórias          |\n"; #Mostra menssagem na tela
print "|                                       |\n"; #Mostra menssagem na tela
print "| Coded By Ø Rodrigo Ø                  |\n"; #Mostra menssagem na tela
print "+---------------------------------------+\n\n"; #Mostra menssagem na tela
sleep 3; #Pausa 3 segundos

#Abaixo são os carácteres que serão usados
@caracteres=("a","b","c","d","e","f","g","h","i",
"j","k","l","m","n","o","p","q","r","s","t","u",
"v","x","y","w","z","A","B","C","D","E","F","G",
"H","I","J","K","L","M","N","O","P","Q","R","S",
"T","U","V","X","Y","W","Z","1","2","3","4","5",
"6","7","8","9","0","#","!","_");
#Acima são os carácteres que serão usados

print "\nQuantas senhas você deseja criar? "; #Mostra menssagem
$vezes=<STDIN>; #Joga na variável "vezes" o número que o usuário digitar
chomp($vezes); #Tira o enter

for ($conta2=1, $max2=$vezes; $conta2 <= $max2; $conta2++) #Vai executar o script uma vez para cada senha
{ #Inicio do bloco de comandos do for

print "\nQuantos carácteres você deseja para a senha $conta2? "; #Mostra menssagem
$carac=<STDIN>; #Joga na variável "carac" o número que o usuário digitar
chomp($carac); #Tira o enter
$p2="";#Deixa sem valor a variável "p2"

for ($conta=1, $max=$carac; $conta <= $max; $conta++) #Vai executar o script uma vez para cada caráctere
{ #Inicio do bloco de comandos do for
$num = rand(@caracteres); #Joga um caráctere aleatório na variável "num"
$p1 = $caracteres[$num]; #Joga na variável "p1" o caráctere aleatório
$p2 = "$p1$p2"; #Pega o texto do "p1" e junta com o "p2"
} #Fim do bloco de comandos do for
push(@senhas,$p2); #Adiciona no array "senhas" a variável "p2"
print "\nSua nova senha é $p2\n"; #Mostra menssagem

} #Fim do bloco de comandos do for
print "\nVocê deseja salvar a(s) senha(s) em um arquivo? -  ou [n]\n"; #Mostra menssagem
$salvar=<STDIN>; #Joga na variável "salvar" o que o usuário digitar
chomp($salvar); #Tira o enter

if ($salvar eq "s") #Se "salvar" for igual á "s"
{ #Inicio do bloco de comandos do if

open(ARQ,">senhas.txt"); #Cria um novo arquivo chamado "senha.txt"
foreach $senha(@senhas) #Joga na variável "senha" cada valor do array "senhas"
{ #Inicio do bloco de comandos do foreach
print ARQ "$senha\n"; #Escreve a senha no arquivo
} #Fim do bloco de comandos do foreach
close(ARQ); #Fecha o arquivo

if (-e senhas.txt) #Se o arquivo não existir...
{ #Inicio do bloco de comandos do if
print "\nO arquivo não foi salvo.\n\n"; #Mostra menssagem
} #Fim do bloco de comandos do if
else #Se o arquivo existir...
{ #Inicio do bloco de comandos do else
print "\nArquivo salvo com sucesso!\n\n"; #Mostra menssagem
} #Fim do bloco de comandos do if
} #Fim do bloco de comandos do else

se tiver algo fora do lugar é que eu fiz no linux e depois passei pro disquete ai saiu da ordem...

Flws...

Shady

#1
Bem legal Rodrigo :)

 So acho que quando voce faz:

if (-e senhas.txt) #Se o arquivo não existir...
{ #Inicio do bloco de comandos do if
print "\nO arquivo não foi salvo.\n\n"; #Mostra menssagem
} #Fim do bloco de comandos do if
else #Se o arquivo existir...
{ #Inicio do bloco de comandos do else
print "\nArquivo salvo com sucesso!\n\n"; #Mostra menssagem
} #Fim do bloco de comandos do if
} #Fim do bloco de comandos do else

 Deveria ser:

if (-e senhas.txt) #Se o arquivo existir...
{ #Inicio do bloco de comandos do if
print "\nArquivo salvo com sucesso!\n\n"; #Mostra menssagem
} #Fim do bloco de comandos do if
else #Se o arquivo nao existir...
{ #Inicio do bloco de comandos do else
print "\nO arquivo não foi salvo.\n\n"; #Mostra menssagem
} #Fim do bloco de comandos do if
} #Fim do bloco de comandos do else


Mundus Vult Decipi

rodweb

vlw a correção...
é que o code tava tudo junto na mesma linha, então só fui dando enter, ai essa parte deve ter ficado fora de ordem

Flws...

bloodrain

man ta certo que tem que comentar mas eu acho que vc exagerou um pouco hehehehehe

tipo
#Abaixo são os carácteres que serão usados
@caracteres=("a","b","c","d","e","f","g","h","i",
"j","k","l","m","n","o","p","q","r","s","t","u",
"v","x","y","w","z","A","B","C","D","E","F","G",
"H","I","J","K","L","M","N","O","P","Q","R","S",
"T","U","V","X","Y","W","Z","1","2","3","4","5",
"6","7","8","9","0","#","!","_");
#Acima são os carácteres que serão usados

 #Mostra menssagem

#inicio do bloco de comandos
#fim do bloco de comandos
hehehe
isso foi uma critica CONSTRUTIVA !!!

Skayler

Bloodrain, acho que quanto mais comentários melhor, assim enterão a lógica do código...
Mas mesmo assim, foi sim uma critica construtiva... ;D

[]'s

Skayler
Away

rodweb

pode deixar, da próxima vez não vou exagerar tanto  ;D

HadeS

Eu acho que comentário de mais estraga o code. Tipo

// Pega e salva na variavel
// Exibe a mensagem
// Faz isso

Sei lá, fica estranho.

HadeS

rodweb

eu acho que pode atrapalhar...estragar não pq vai continuar o mesmo...

HadeS

Eu digo estragar no sentido de ficar chato de ler e interpretar.

-.-

HadeS

slul

Quote from: "HadeS"Eu digo estragar no sentido de ficar chato de ler e interpretar.

-.-

HadeS

sim fica chato pra qm jah tem noçoes ainda que básicas de programação mas convenhamos que nem todos do forum são programadores né amigo.

então somos forçados a conviver com as diferenças :)

bem agora vo indo q tenho aula amanhã =P

flws

rodweb

Quote from: "HadeS"Eu digo estragar no sentido de ficar chato de ler e interpretar.

-.-

http://www.darkers.com.br/smf/index.php ... 788.0.html

;)