Olá! Sunday, 20 de April de 2025.



Dicas CódigoFonte.net
Monday, 19 de January de 2009

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.

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.

João Paulo Novais - [email protected]


Comentários do artigo [Novo comentário]

manezim - 06 de February de 2009 - 13:43
d
manezim - 06 de February de 2009 - 13:43
fdaddsdsdsf
manezim - 06 de February de 2009 - 13:43
fdssdsd
manezim - 06 de February de 2009 - 13:43
sasdfsdsdfsad
manezim - 06 de February de 2009 - 13:43
fsfsdfsafsadfsaf
manezim - 06 de February de 2009 - 13:43
fsfsadfsdaf
manezim - 06 de February de 2009 - 13:43
fsadfsafsaf
Markus Moral Silva e Silva - 10 de July de 2009 - 11:55
Muito bom! Tava precisando disso !!
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:


CodigoFonte.net » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010