首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

函数解密解决办法

2013-02-06 
函数解密function Encrypt(tsStr : String tnSafecode:Integer):Stringvari,l : Integerii,ll : Intege

函数解密
function Encrypt(tsStr : String; tnSafecode:Integer):String;
var
  i,l : Integer  ;
  ii,ll : Integer  ;
  aEncode : Array of Char ;
begin
  ll := 128 ;
  setlength(aEncode,ll);
  ii := 0 ;
  for i := 0  to ll - 1 do
  begin
    case i of
      0..32: ;
      34,39: ;
      250..255 : ;
    else ;
       aEncode[ii] := chr(i);
       ii := ii +1
    end;
  end;
  SetLength(aEncode,ii);
  Result := '';
  tsStr:=tsStr+'********************';
  tsStr := copy(tsStr,1,20);
  l := Length(tsStr);
  for i := 1 to l  do
  begin
    tnSafecode := tnSafecode + i;
    Result := Result + aEncode[(Integer(tsStr[i])* tnSafecode * tnSafecode ) mod ii];
  end;
end;
这是加密函数,哪位大侠写一下解密的函数。
假设 tnSafecode =1 , tsStr[1] = #1 或者 #94 或者 #187
得到的结果: 索引都是1,Result[1] = aEncode[1] = #35
解码的时候,#35解码后到底是 #1还是#94还是#187?
一位有2种或者3种可能,20位总共有多少个结果? 2^20至2^30种可能,这个。。。

热点排行