Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use strict;
- use warnings;
- my $senha = gerar_senha(10, 1, 1, 1, 1); # senha de 10 caracteres com pelo menos 1 letra maiúscula, 1 letra minúscula, 1 número e 1 caractere especial
- print "Senha gerada: $senha\n";
- sub gerar_senha {
- my ($tamanho, $letras_maiusculas, $letras_minusculas, $numeros, $caracteres_especiais) = @_;
- my $senha = "";
- my @caracteres;
- push(@caracteres, 'A'..'Z') if $letras_maiusculas;
- push(@caracteres, 'a'..'z') if $letras_minusculas;
- push(@caracteres, 0..9) if $numeros;
- push(@caracteres, qw(! @ # $ % ^ & * ( ) - _ = + [ ] { } ; : , . / ?)) if $caracteres_especiais;
- while (length($senha) < $tamanho) {
- my $random_index = int(rand(@caracteres));
- $senha .= $caracteres[$random_index];
- }
- return $senha;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement