加密字符串时如何始终使用相同的设置获得相同的结果?

时间:2013-07-15 13:44:05

标签: delphi encryption delphi-xe2 lockbox-3

在Delphi XE2中,使用Turbopower Lockbox-3,我使用以下代码加密字符串:

Codec1.EncryptString('AText', Encrypted);

密码为[AES-192],ChainMode为PCBC

但是,每次使用相同的设置加密相同的字符串时,会产生不同的结果 如何始终使用相同的设置获取相同的结果字符串? (密码,密码,ChainMode等)。

1 个答案:

答案 0 :(得分:4)

使用CBC模式,即使使用相同的明文,每次调用加密函数时,假设都会获得不同的密文。此属性可以防止某些类型的攻击,这也是CBC比ECB更安全的原因之一。

如果您仍想这样做(并且只有在您真正知道自己在做什么的情况下才应该这样做),您应该每次都使用相同的初始化向量(IV)。但如上所述,这可能会危及系统的安全性。

我不熟悉您的平台,因此我不知道如何在您的情况下执行此操作。