函数解密
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种可能,这个。。。