Delphi字符串加密解密函数
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; const XorKey:array[0..7] of Byte=($A1,$B7,$AC,$57,$1C,$63,$3B,$81); //字符串加密用 implementation {$R *.dfm} function Enc(Str:String):String;//字符加密函數 這是用的一個異或加密 var i,j:Integer; begin Result:=''; j:=0; for i:=1 to Length(Str) do begin Result:=Result+IntToHex(Byte(Str[i]) xor XorKey[j],2); j:=(j+1) mod 8; end; end; function Dec(Str:String):String;//字符解密函數 var i,j:Integer; begin Result:=''; j:=0; for i:=1 to Length(Str) div 2 do begin Result:=Result+Char(StrToInt('$'+Copy(Str,i*2-1,2)) xor XorKey[j]); j:=(j+1) mod 8; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if edit1.Text<>'' then begin Edit2.Text:= Enc(Edit1.text); end; end; procedure TForm1.Button2Click(Sender: TObject); begin Edit3.Text:= Dec(Edit2.text); end; end.
posted on 2020-03-16 16:08 windsonvip 阅读(1036) 评论(0) 编辑 收藏 举报