|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
|
type5FALinux联盟 TDynByteArray = array of byte;5FALinux联盟 5FALinux联盟 const5FALinux联盟 SeedA = 5678; /// 常量,你可以修改5FALinux联盟 SeedB = 5432; /// 常量,你可以修改5FALinux联盟 5FALinux联盟 /// 对数组加密5FALinux联盟 function Crypt(const s: TDynByteArray; Key: Word; const bEncrypt: boolean = true): TDynByteArray; overload;5FALinux联盟 var5FALinux联盟 i : integer;5FALinux联盟 begin5FALinux联盟 SetLength(Result, Length(s));5FALinux联盟 for i := Low(s) to High(s) do5FALinux联盟 begin5FALinux联盟 Result[i] := s[i] xor (key shr 8);5FALinux联盟 if bEncrypt then5FALinux联盟 Key := (Result[i] + key) * SeedA + SeedB5FALinux联盟 else5FALinux联盟 Key := (s[i] + Key) * SeedA + SeedB;5FALinux联盟 end;5FALinux联盟 end;5FALinux联盟 5FALinux联盟 /// 字符串5FALinux联盟 function Crypt(const s: string; Key: Word; const bEncrypt: boolean = True): string; overload;5FALinux联盟 var5FALinux联盟 i : integer;5FALinux联盟 ps, pr : ^byte;5FALinux联盟 begin5FALinux联盟 SetLength(Result, Length(s));5FALinux联盟 ps := @s[1];5FALinux联盟 pr := @Result[1];5FALinux联盟 for i := 1 to length(s) do5FALinux联盟 begin5FALinux联盟 pr^ := ps^ xor (Key shr 8);5FALinux联盟 if bEncrypt then5FALinux联盟 Key := (pr^ + Key) * SeedA + SeedB5FALinux联盟 else5FALinux联盟 Key := (ps^ + Key) * SeedA + SeedB;5FALinux联盟 pr := pointer(integer(pr) + 1);5FALinux联盟 ps := pointer(integer(ps) + 1);5FALinux联盟 end5FALinux联盟 end;5FALinux联盟 5FALinux联盟 /// 也可以对记录进行加密,只要把TResultData改成你的记录类型即可!!!!!!5FALinux联盟 function Crypt(const s: TResultData; Key: Word; const bEncrypt: boolean = True): TResultData; overload;5FALinux联盟 var5FALinux联盟 i : integer;5FALinux联盟 ps, pr : ^byte;5FALinux联盟 begin5FALinux联盟 ps := @s;5FALinux联盟 pr := @Result;5FALinux联盟 for i := 1 to SizeOf(s) do5FALinux联盟 begin5FALinux联盟 pr^ := ps^ xor (Key shr 8);5FALinux联盟 if bEncrypt then5FALinux联盟 Key := (pr^ + Key) * SeedA + SeedB5FALinux联盟 else5FALinux联盟 Key := (ps^ + Key) * SeedA + SeedB;5FALinux联盟 pr := pointer(integer(pr) + 1);5FALinux联盟 ps := pointer(integer(ps) + 1);5FALinux联盟 end;5FALinux联盟 end;5FALinux联盟 ***************************5FALinux联盟 function cryptstr(const s:string; stype: dword):string;5FALinux联盟 var5FALinux联盟 i: integer;5FALinux联盟 fkey: integer;5FALinux联盟 begin5FALinux联盟 result:='';5FALinux联盟 case stype of5FALinux联盟 0: 5FALinux联盟 begin5FALinux联盟 randomize;5FALinux联盟 fkey := random($ff);5FALinux联盟 for i:=1 to length(s) do5FALinux联盟 result := result+chr( ord(s[i]) xor i xor fkey);5FALinux联盟 result := result + char(fkey);5FALinux联盟 end;5FALinux联盟 1: 5FALinux联盟 begin5FALinux联盟 fkey := ord(s[length(s)]);5FALinux联盟 for i:=1 to length(s) - 1 do5FALinux联盟 result := result+chr( ord(s[i]) xor i xor fkey);5FALinux联盟 end;5FALinux联盟 end;5FALinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|