我目前正在将一个项目(使用加密技术)从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