- 主题
- 0
- 积分
- 0
- 贝壳
- 0 个
- 来自
- 云南曲靖
- 注册时间
- 2006-11-19
- 最后登录
- 2006-11-19
|
[转帖]利用URL编码进行加密 [源码]
用delphi也可以实现
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, HTTPApp;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Memo2: TMemo;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
function URLEncode(const msg : String) : String;
function GetMemoText(memo:TMemo):string;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
ss: string;
begin
ss := GetMemoText(Memo1);
Memo1.Text :=ss;
Memo2.Clear;
for i := 1 to Length(ss) do
begin
Memo2.Text := Memo2.Text + ';%'; + IntToHex(Ord(ss), 2);
end;
end;
function TForm1.URLEncode(const msg: String): String;
var
I : Integer;
begin
Result := ';';;
for I := 1 to Length(msg) do begin
if msg[I] = '; '; then
Result := Result + ';+';
else if msg[I] in [';a';..';z';, ';A';..';Z';, ';0';..';9';] then
Result := Result + msg[I]
else
Result := Result + ';%'; + IntToHex(ord(msg[I]), 2);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var ss:string;
begin
Memo2.Clear;
ss :=GetMemoText(Memo1);
Memo1.Text :=ss;
Memo2.Text :=HTTPDecode(trim(ss));
end;
function TForm1.GetMemoText(memo: TMemo): string;
var i:integer;
begin
for i:=0 to memo.Lines.Count-1 do
begin
Result :=Result + trim(memo.Lines);
end;
end;
end.
|
|