123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- unit EncryptService;
- interface
- uses Classes, TypeUnit, SysUtils;
- type
- {加密发送的数据}
- TScEncryptService = class
- private
- function EncryptInteger(Value: Integer): string;
- function DeEncryptInteger(Value: string): Integer;
- public
- {服务数据加密}
- function EncryptString(const Value: string): string;
- {解密客户数据 IP + 版本类型 + Action}
- function DeEncryptString(const Value: string; AInfoRec: PInfoRecd): string;
- end;
- implementation
- { TScEncryptService }
- function TScEncryptService.DeEncryptInteger(Value: string): Integer;
- begin
- end;
- function TScEncryptService.DeEncryptString(const Value: string; AInfoRec: PInfoRecd): string;
- var
- sText: string;
- iLen: Integer;
- begin
- if SameText(Value, '') then
- begin
- AInfoRec.Action := -1;
- Exit;
- end;
- sText := Copy(Value, 2, 2);
- iLen := StrToInt(sText);
- AInfoRec^.IP := Copy(Value, 5, iLen);
- sText := Copy(Value, 21, 2);
- AInfoRec^.User := StrToInt(sText);
-
- sText := Copy(Value, 23, 1);
- AInfoRec.Action := StrToInt(sText);
- end;
- function TScEncryptService.EncryptInteger(Value: Integer): string;
- begin
- end;
- function TScEncryptService.EncryptString(const Value: string): string;
- var
- I, iValue: Integer;
- begin
- Randomize;
- SetLength(Result, Length(Value) + 5);
- iValue := Random(26) + 65;
- Result[1] := Chr(iValue);
- iValue := Random(26) + 65;
- Result[2] := Chr(iValue);
- iValue := Random(26) + 65;
- Result[3] := Chr(iValue);
- for I := 1 to Length(Value) do
- begin
- Result[I + 3] := Value[I];
- end;
- I := 3 + Length(Value);
- iValue := Random(26) + 65;
- Result[I + 1] := Chr(iValue);
- iValue := Random(26) + 65;
- Result[I + 2] := Chr(iValue);
- end;
- end.
|