在Delphi XE2中,使用Turbopower Lockbox-3,我使用以下代码加密字符串:
Codec1.EncryptString('AText', Encrypted);
密码为[AES-192]
,ChainMode为PCBC
。
但是,每次使用相同的设置加密相同的字符串时,会产生不同的结果 如何始终使用相同的设置获取相同的结果字符串? (密码,密码,ChainMode等)。
答案 0 :(得分:4)
使用CBC模式,即使使用相同的明文,每次调用加密函数时,假设都会获得不同的密文。此属性可以防止某些类型的攻击,这也是CBC比ECB更安全的原因之一。
如果您仍想这样做(并且只有在您真正知道自己在做什么的情况下才应该这样做),您应该每次都使用相同的初始化向量(IV)。但如上所述,这可能会危及系统的安全性。
我不熟悉您的平台,因此我不知道如何在您的情况下执行此操作。