Jump to content
Fórum Script Brasil
  • 0

Ajunda Com Função


Legionario
 Share

Question

ola pessoal....eu estou com essa função pra gerar senha mas ela so gera senha com numeros e eu queria mudar ela pra trabalhar com numeros e letras mas não estou conseguindo fazer isso...sera que vocês poderiam dar uma olhadinha nela pra mim e ver o que poderia ser mudado pra ela trabalhar com letrar e numeros....

codigo da funcao:

function GeraSenha (ContSenha: String): String;

var

N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12, N13, N14, N15: Integer;

D1, D2, D3, D4, D5: Integer;

begin

N1:= StrToInt(ContSenha[1]); N6:= StrToInt(ContSenha[6]); N11:= StrToInt(ContSenha[11]);

N2:= StrToInt(ContSenha[2]); N7:= StrToInt(ContSenha[7]); N12:= StrToInt(ContSenha[12]);

N3:= StrToInt(ContSenha[3]); N8:= StrToInt(ContSenha[8]); N13:= StrToInt(ContSenha[13]);

N4:= StrToInt(ContSenha[4]); N9:= StrToInt(ContSenha[9]); N14:= StrToInt(ContSenha[14]);

N5:= StrToInt(ContSenha[5]); N10:= StrToInt(ContSenha[10]); N15:= StrToInt(ContSenha[15]);

D1:= (N1 mod 2) + (N2 mod 3) + (N3 mod 2);

D2:= (N4 + 2) + (N5 + 3) - (N6 - 2);

D3:= (N7 * 2) - (N8 div 3) + (N9 div 2);

D4:= (N1 div 2) - (N2 div 3) + (N3 div 2);

D5:= (N1 + 2) + (N2 * 3) + (N3 - 2);

Result:= IntToStr(D5) + IntToStr(D3) + IntToStr(D1) + IntToStr(D2) + IntToStr(D4) + IntToStr(d3 * N11) + IntToStr(N12 + n14*2) + IntToStr(N15) + InttoStr(d2 * (N3 mod 3)) + IntToStr(N8) + InttoStr(N5 + N3 - d3);

end;

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

opa

o que é esse contsenha, seria algo que "a partir" disso é gerada a senha?

ou a senha pode ser qualquer combinação de letras e números...

já que do jeito que você fez ai está mais pra isso....

se puder ser qualquer sequência de caracteres então ai vai um exemplo utilizando random

Function GeraSenha(iLength: Integer): String;

const

BASE = '0123456789abcdefghijklmnopqrstuvwxyz';

var

szBuff: String;

i, ii: integer;

begin

Randomize;

for i := 1 to iLength do

begin

ii := Random(Length(BASE)) + 1;

szBuff := szBuff + BASE[ii];

end;

Result := szBuff;

end;

Em BASE está os caracteres que serão usados, ali você pode definir o que quiser no caso eu usei números de 0 a 9 e letras de A a Z

iLength é o tamanho de caracteres que você quer que retorna...

exemplo pra gerar uma senha com 5 caracteres

var

szstr: string;

begin

szstr := gerasenha(5);

showmessage(szstr);

Se você quiser que a senha seja gerada a partir de um escrita, no caso da sua função seria ContSenha então só você ignorar o BASE e usar ContSenha só que tem que fazer mais modificações, senão exemplo, você quer uma senha de 10 caracteres e passa 3 como base...

entendeu?

abraço

Link to comment
Share on other sites

  • 0

nessa minha funcao eu estou passando o serial do hd

ex.: Edit2.Text := GeraSenha(Edit1.Text) // no Edit1 tem o serial do hd tipo KJP125H e no Edit2 ela gera uma outra contra senha baseada no serial do hd que esta no Edit1, so que ela não aceita letras so aceita numeros então eu queria fazer ela aceitar letras tambem.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.9k
    • Total Posts
      648.7k
×
×
  • Create New...