1
下面的功能是用Delphi编写的2007年函数返回不同的结果
function TMainFrm.DecodePsw(Passw : String) : String;
var
i : Integer;
ss : String;
Begin
ss := Passw;
for i:=1 to Length(ss) do begin
ss[i] := Chr(Ord(ss[i]) - i*21 + 15);
end;
Result := ss;
end;
在某些客户端计算机返回用相同的输入数据的不同结果的遗留应用程序的基本解密程序,可能是什么可能的原因是什么?
我怀疑的语言环境中寻找Windows设置我只能找到地区下系统区域设置一个含糊的提法之后然而 - >管理 - >更改系统区域设置...我比较了这些设置到另一台计算机是工作在同一网站上它是一样的。 您特别提到在上面的回答ANSI字符串,因为德尔福2007年的,这是否意味着这不会是Unicode的一个问题? –
你确定吗?这是Delphi 2007和Chr/Ord只是简单的强制转换。 2007年没有字符串区域设置的概念。 – gabr
@gabr作为字节数组是真的。但正如屏幕上显示的文字所说,区域设置很重要 –