我目前正在將一個項目(使用加密技術)從Delphi 6轉換爲XE。這個項目使用舊版的Delphi Encryption Compendium,它在XE中不起作用。所以我想我會從該組件設置交換到LockBox。有兩個版本的LockBox - 2和3.我在Delphi 6中使用LockBox2沒有問題。雖然我會在XE中使用LockBox3,但是我遇到的問題是使用時無法獲得相同的結果ExFile演示程序(來自LockBox2)。將TurboPower Lockbox 2轉換成LockBox 3
在該演示中,我選擇Blowfish算法將密碼設置爲'testkey',不帶引號,程序將加密文件。
在Delphi XE,我滴到形式
Codec1: TCodec;
CryptographicLibrary1: TCryptographicLibrary;
並鏈接到CODEC1和CryptographicLibrary1點擊執行以下的代碼的按鈕時(發現LockBox3現場類似的代碼用於解密字符串)....
codec1.StreamCipherId := BlockCipher_ProgId;
codec1.BlockCipherId := Blowfish_ProgId;
codec1.ChainModeId := ECB_ProgId;
codec1.Password := 'testkey';
codec1.encryptFile('d:\tools\mingw\bin\md5.exe',
'd:\tools\mingw\bin\md5_xe_2.exe');
但最終結果是輸出文件的大小與LockBox2 ExFile演示文件的大小不同。
所以我的問題是....
我做了什麼錯在XE代碼之上,使得我給出了不同的結果,從LockBox2 ExFile演示?
我應該在XE中使用LockBox2嗎?
與2有關,是否有人照看代碼LockBox2(用於XE)?
任何援助將不勝感激。
問候,
您確定LockBox2的結果正確嗎?你是否用另一個加密實用程序測試了它,找出哪個庫給你錯誤的結果? LockBox 3有一個支持論壇,這似乎是積極的。你有沒有試過在那裏問你的問題?這是它的網址:http://lockbox.seanbdurkin.id.au/tiki-view_forum.php?forumId=2 – vcldeveloper
XE使用Unicode,因此也要考慮 - 它會影響字符串處理,這可能會影響大小。 – mj2008