Procurar
Contribue ao Fórum
Opção 1
Opção 2
Função para Gerar Senhas Aleatórias
Página 1 de 1
Função para Gerar Senhas Aleatórias
Essa é uma dica simples e que para os que trabalham com redes sem fio pode ser muito útil. O que a função faz é gerar um string com caracteres hexadecimais, mas que podem ser adaptados para qualquer outro tipo. Esta função recebe como parâmetros o comprimento da senha como um integer, e outros três parametros do tipo boolean que indicam se estarão presentes letras minúsculas, maiúsculas e números.
Aqui vai o código e as explicações seguem logo abaixo.
Explicações:
Primeiro criamos as constantes que trarão os caracteres referentes a letras minúsculas, maiúsculas, e números, depois, iniciamos como vazia, só por desencargo de consciência já que o delphi faz isso por padrão, a variável "Char", que conterá todos os caracteres a serem usados para a geração da senha randômica.
Após isso, testamos os parâmetros para letras maiúsculas, minúsculas e números, acrescentando à "Char" cada um dos que forem verdadeiros segundo os parâmetros passados na chamada da função.
E depois, para finalizar, um laço com o número de repetições igual aos dígitos passados também como parâmetro na chamada, que usando a função Random do delphi gera números aleatórios dentro do limite estabelecido pelo cumprimento da variável "Char", lembrando que o fato de acrescentar o "+ 1" é por que as posições dos caracteres dentro de um string iniciam em 1, e a função Random gera números de 0 até o valor estipulado como limite. Por exemplo uma String = 'teste' temos os valores a seguir:
String[1] = 't'
String[2] = 'e'
String[3] = 's'
String[4] = 't'
String[5] = 'e'
Terminado. Simples, fácil e bem útil.
Aqui vai o código e as explicações seguem logo abaixo.
- Código:
function GeraSenhaHex(Digitos: Integer; Min: Boolean; Mai: Boolean; Num: Boolean): string;
const
MinC = 'abcdef';
MaiC = 'ABCDEF';
NumC = '1234567890';
var
p, q : Integer;
Char, Senha: String;
begin
Char := '';
If Min then Char := Char + MinC;
If Mai then Char := Char + MaiC;
If Num then Char := Char + NumC;
for p := 1 to Digitos do
begin
Randomize;
q := Random(Length(Char)) + 1;
Senha := Senha + Char[q];
end;
Result := Senha;
end;
Explicações:
Primeiro criamos as constantes que trarão os caracteres referentes a letras minúsculas, maiúsculas, e números, depois, iniciamos como vazia, só por desencargo de consciência já que o delphi faz isso por padrão, a variável "Char", que conterá todos os caracteres a serem usados para a geração da senha randômica.
Após isso, testamos os parâmetros para letras maiúsculas, minúsculas e números, acrescentando à "Char" cada um dos que forem verdadeiros segundo os parâmetros passados na chamada da função.
E depois, para finalizar, um laço com o número de repetições igual aos dígitos passados também como parâmetro na chamada, que usando a função Random do delphi gera números aleatórios dentro do limite estabelecido pelo cumprimento da variável "Char", lembrando que o fato de acrescentar o "+ 1" é por que as posições dos caracteres dentro de um string iniciam em 1, e a função Random gera números de 0 até o valor estipulado como limite. Por exemplo uma String = 'teste' temos os valores a seguir:
String[1] = 't'
String[2] = 'e'
String[3] = 's'
String[4] = 't'
String[5] = 'e'
Terminado. Simples, fácil e bem útil.
Tópicos semelhantes
» Função para Criar Diretorios na Exportação de Dados
» Guia básico para Iniciantes
» Jogo do Para Noooossa Alegriaaa
» Trainer Multi-DLL Para S4League 32bit
» [Tutorial]Criando um Trainer Funcional para Gc
» Guia básico para Iniciantes
» Jogo do Para Noooossa Alegriaaa
» Trainer Multi-DLL Para S4League 32bit
» [Tutorial]Criando um Trainer Funcional para Gc
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Qui maio 14, 2015 6:42 pm por Rebourns
» Happy Wheels
Sáb maio 04, 2013 7:49 pm por Rebourns
» L2-Revenger PvP Server (servidor 24horas sem lag)
Ter Mar 05, 2013 1:44 am por Rebourns
» XTrap BYPass 22/02/12
Sex Fev 22, 2013 10:34 pm por Lucas Aurelio Muniz
» Trade haker par PW "PERFECT WORLD"
Qui Nov 29, 2012 5:13 am por lutadory
» Alakaida Project 26/04012
Seg Nov 26, 2012 2:46 pm por daudinho
» Criando Acc Permanente - Metodo Easy
Qua Nov 07, 2012 5:57 am por chrisbr
» Angry Birds Hallowen
Qui Nov 01, 2012 9:26 pm por Rebourns
» Vagas na Staff Abertas ! Acesse e saiba +
Dom Out 07, 2012 8:23 am por [B]aby[L]oves