Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Função para gerar senhas aleatórias // Delphi


TheLucasFuck
 Compartilhar

Posts Recomendados

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.

 

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.

 

Espero ter ajudado.:nice:

OPEN MINDED

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.