////////////////////////////////////字符串加密////////////////////////////////////function Encrypt(const str: string): string; var i, j, iKey : Integer; strGet : string; begin strGet := str; iKey := FKey; Result := strGet; for i := 1 to Length(strGet) do begin Result[i] := Char(byte(strGet[i]) xor (iKey shr 8)); iKey := (Byte(Result[I]) + iKey) * FSeedA + FSeedB; end; strGet := Result; Result := ''; for i := 1 to Length(strGet) do begin j := Integer(strGet[i]); Result := Result + Char(65 + (j div 26)) + char(65 + (j mod 26)); end; end; ////////////////////////////////////字符串加密//////////////////////////////////// ////////////////////////////////////字符串解密////////////////////////////////////function Decrypt(const str: string): string; var i, j, iKey : Integer; strGet : string; begin strGet := str; iKey := FKey; Result := ''; for i := 1 to (Length(strGet) div 2) do begin j := (Integer(strGet[2 * i - 1]) - 65) * 26; j := j + (Integer(strGet[2 * i]) - 65); Result := Result + Char(j); end; strGet := Result; for i := 1 to Length(strGet) do begin Result[i] := Char(byte(strGet[I]) xor (iKey shr 8)); iKey := (Byte(strGet[I]) + iKey) * FSeedA + FSeedB; end; end; ////////////////////////////////////字符串解密////////////////////////////////////
var
i, j, iKey : Integer;
strGet : string;
begin
strGet := str;
iKey := FKey;
Result := strGet;
for i := 1 to Length(strGet) do
begin
Result[i] := Char(byte(strGet[i]) xor (iKey shr 8));
iKey := (Byte(Result[I]) + iKey) * FSeedA + FSeedB;
end;
strGet := Result;
Result := '';
for i := 1 to Length(strGet) do
begin
j := Integer(strGet[i]);
Result := Result + Char(65 + (j div 26)) + char(65 + (j mod 26));
end;
end;
////////////////////////////////////字符串加密////////////////////////////////////
////////////////////////////////////字符串解密////////////////////////////////////function Decrypt(const str: string): string;
var
i, j, iKey : Integer;
strGet : string;
begin
strGet := str;
iKey := FKey;
Result := '';
for i := 1 to (Length(strGet) div 2) do
begin
j := (Integer(strGet[2 * i - 1]) - 65) * 26;
j := j + (Integer(strGet[2 * i]) - 65);
Result := Result + Char(j);
end;
strGet := Result;
for i := 1 to Length(strGet) do
begin
Result[i] := Char(byte(strGet[I]) xor (iKey shr 8));
iKey := (Byte(strGet[I]) + iKey) * FSeedA + FSeedB;
end;
end;
////////////////////////////////////字符串解密////////////////////////////////////