Função de Criptografia? A..Z, 0..9
14/01/2006
0
Eu estou a procura de um função de criptografia/descriptografia que me retorne apenas caracteres de A..Z ou 0..9
E que me retorne o mesmo número de caracteres da string que será passada para a função, assim por exemplo:
Senha:=Cript(´SENHA´) ->>>> Senha = ´ABCDE´
Se alguém puder me ajudar
Atenciosamente
Luís Erucci
Erucci
Posts
14/01/2006
Edilcimar
14/01/2006
Erucci
14/01/2006
Aasn
function Crypt(Action, Src: String): String; label Fim; var KeyLen : Integer; KeyPos : Integer; OffSet : Integer; Dest, Key : String; SrcPos : Integer; SrcAsc : Integer; TmpSrcAsc : Integer; Range : Integer; begin if (Src = ´´) Then begin Result:= ´´; Goto Fim; end; Key := ´YUQL23KL23DF90WI5E1JAS467NMCXXL6JAOAUWWMCL0AOMM4A4VZYW9KHJUI2347EJHJKDF3424SKL K3LAKDJSL9RTIKJ´; // ou apenas Key := ´ABCDEF´; Dest := ´´; KeyLen := Length(Key); KeyPos := 0; SrcPos := 0; SrcAsc := 0; Range := 256; if (Action = UpperCase(´C´)) then begin Randomize; OffSet := Random(Range); Dest := Format(´¬1.2x´,[OffSet]); for SrcPos := 1 to Length(Src) do begin Application.ProcessMessages; SrcAsc := (Ord(Src[SrcPos]) + OffSet) Mod 255; if KeyPos < KeyLen then KeyPos := KeyPos + 1 else KeyPos := 1; SrcAsc := SrcAsc Xor Ord(Key[KeyPos]); Dest := Dest + Format(´¬1.2x´,[SrcAsc]); OffSet := SrcAsc; end; end Else if (Action = UpperCase(´D´)) then begin OffSet := StrToInt(´$´+ copy(Src,1,2)); SrcPos := 3; repeat SrcAsc := StrToInt(´$´+ copy(Src,SrcPos,2)); if (KeyPos < KeyLen) Then KeyPos := KeyPos + 1 else KeyPos := 1; TmpSrcAsc := SrcAsc Xor Ord(Key[KeyPos]); if TmpSrcAsc <= OffSet then TmpSrcAsc := 255 + TmpSrcAsc - OffSet else TmpSrcAsc := TmpSrcAsc - OffSet; Dest := Dest + Chr(TmpSrcAsc); OffSet := SrcAsc; SrcPos := SrcPos + 2; until (SrcPos >= Length(Src)); end; Result:= Dest; Fim: end;
15/01/2006
Dart
Erucci tenta essa
15/01/2006
Dart
16/01/2006
Erucci
Eu já possuía essas 2 funções de criptografia, a primeira retorna um número grande de caracteres, sendo que eu preciso indicar uma string de 8 caracteres e a criptografia me retornar outra string com também 8 caracteres.
A segunda rotina não me traz apenas os caracteres de A..Z ou 0..9, sendo que eu preciso passar esse código via telefone.
Se alguém tiver mais alguma para me ajudar
Atenciosamente
Luís Erucci
Clique aqui para fazer login e interagir na Comunidade :)