求把下面Delphi加密,解密代码 翻译成ASP(不是.NET)

代码:

XorKey:array[0..7] of Byte=($B2,$09,$AA,$55,$93,$6D,$84,$47); //字符串加密用
EncXorKey:array[0..7] of Byte;

function MobileDec(Str: string; mpasskey:string): string;//字符解密函數

var
i,j, strlen:Integer;
mstr, mpassStr:TStringBuilder;
begin
//result := trim(Str);
//exit;
if mpasskey <>'' then
begin
mpassStr:=TStringBuilder.Create;
mpassStr.Append(mpasskey);
for i := 0 to 7 do //XorKey
EncXorKey[i]:=XorKey[i];
strlen := mpassStr.Length;
if strlen >8 then strlen := 8;
for i:=1 to strlen do
begin
EncXorKey[i-1] := Byte(mpassStr[i-1]);
end;
end;

mstr:=TStringBuilder.Create;
mstr.Append(Str);
Result := '';
j := 0;
for i := 1 to mstr.Length div 4 do
begin
if mpasskey <>'' then
Result := Result + Char(StrToInt('$' + Copy(mstr.ToString, i * 4 - 3, 4)) xor EncXorKey[j])//
else
Result := Result + Char(StrToInt('$' + Copy(mstr.ToString, i * 4 - 3, 4)) xor XorKey[j]);//
j := (j + 1) mod 8;
end;
end;

function MobileEnc(Str: string; mpasskey:string): string; //字符加密函數 這是用的一個異或加密
var
i,j, strlen:Integer;
mstr, mpassStr:TStringBuilder;
begin
//result := Str;
//exit;
if mpasskey <>'' then
begin
mpassStr:=TStringBuilder.Create;
mpassStr.Append(mpasskey);
for i := 0 to 7 do //XorKey
EncXorKey[i]:=XorKey[i];
strlen := mpassStr.Length;
if strlen >8 then strlen := 8;
for i:=1 to strlen do
begin
EncXorKey[i-1] := Byte(mpassStr[i-1]);
end;
end;

Result := '';
j := 0;
mstr:=TStringBuilder.Create;
mstr.Append(Str);
for i := 1 to mstr.Length do
begin
if mpasskey <>'' then
Result:=Result+IntToHex(ord(mstr[i-1]) xor EncXorKey[j],4)//
else
Result := Result + IntToHex(ord(mstr[i-1]) xor XorKey[j], 4);//
j := (j + 1) mod 8;
end;
end;

就是简单的加密,找找代码