jimmy_lxj 2016-06-27 06:00 采纳率: 100%
浏览 992

求把下面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;

  • 写回答

1条回答 默认 最新

  • devmiao 2016-06-27 06:04
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料