0

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

Codec1.EncryptString('AText', Encrypted);

Cipher 是[AES-192],ChainMode 是PCBC

但是,每次我使用相同的设置加密相同的字符串时,都会产生不同的结果。
如何始终获得具有相同设置的相同结果字符串?(密码、密码、链模式等)。

4

1 回答 1

4

在 CBC 模式下,每次调用加密函数时都应该得到不同的密文,即使是相同的明文。此属性可针对某些类型的攻击提供保护,这也是 CBC 比 ECB 更安全的原因之一。

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

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

于 2013-07-15T13:51:56.743 回答