Diminuir tamanho da string criptografada
Pessoal usa esta funcao para crip
function Crypt(Action, Src, Key : String) : String;
var
KeyLen : Integer;
KeyPos : Integer;
offset : Integer;
dest : string;
SrcPos : Integer;
SrcAsc : Integer;
TmpSrcAsc : Integer;
Range : Integer;
Men : Boolean;
begin
dest:='';
KeyLen:=Length(Key);
KeyPos:=0;
SrcPos:=0;
SrcAsc:=0;
Range:=256;
if Action = UpperCase('E') then
begin
Randomize;
offset:=Random(Range);
dest:=format('%1.2x',[offset]);
for SrcPos := 1 to Length(Src) do
begin
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;
De dezete caracteres ela gera 35
ex:1521105122122011
gerado :3825160479E65BDC4238261B007EE258C6
tem como manter o mesmo tamanho
Obrigado a tds..
function Crypt(Action, Src, Key : String) : String;
var
KeyLen : Integer;
KeyPos : Integer;
offset : Integer;
dest : string;
SrcPos : Integer;
SrcAsc : Integer;
TmpSrcAsc : Integer;
Range : Integer;
Men : Boolean;
begin
dest:='';
KeyLen:=Length(Key);
KeyPos:=0;
SrcPos:=0;
SrcAsc:=0;
Range:=256;
if Action = UpperCase('E') then
begin
Randomize;
offset:=Random(Range);
dest:=format('%1.2x',[offset]);
for SrcPos := 1 to Length(Src) do
begin
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;
De dezete caracteres ela gera 35
ex:1521105122122011
gerado :3825160479E65BDC4238261B007EE258C6
tem como manter o mesmo tamanho
Obrigado a tds..
Emerson Charles
Curtidas 0