在Delphi XE2中,使用Turbopower Lockbox-3,我使用以下代码来加密字符串:
Codec1.EncryptString('AText', Encrypted);
密码是[AES-192]
,ChainMode是PCBC
。
但是,每次我使用相同的设置加密相同的字符串时,这会产生不同的结果。
如何才能始终获得具有相同设置的相同结果字符串?(密码、密码、ChainMode等)。
发布于 2013-07-15 13:51:57
使用CBC模式,您应该在每次调用加密函数时获得不同的密文,即使是相同的明文。此属性可防止某些类型的攻击,这也是CBC比ECB更安全的原因之一。
如果您仍然想这样做(并且只有在您真正知道自己在做什么的情况下才应该这样做),那么每次都应该使用相同的初始化向量(IV)。但如上所述,这可能会损害系统的安全性。
我不熟悉你的平台,所以我不知道如何在你的情况下做到这一点。
https://stackoverflow.com/questions/17655733
复制