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作爲字節數組是真的。但正如屏幕上顯示的文字所說,區域設置很重要 –