使用 Crypto.Cipher 模块时,每次加密结果不一致的原因在于,在 MODE_CBC 模式下,IV (初始化向量) 每次加密都需要重新生成,而 pyDes 中的 IV 是固定的。如果您想让 Crypto.Cipher 模块的加密结果与 pyDes 相同,可以将 IV 固定,确保每次加密使用相同的 IV。

然而,需要注意的是,使用相同的 IV 可能会导致安全问题,因为相同的 IV 可能会使加密更容易受到攻击。因此,建议使用随机生成的 IV 来确保安全性。

具体来说,可以使用以下方法来解决 Crypto.Cipher 模块加密结果不一致的问题:

  1. 固定 IV 值: 在每次加密之前,手动指定一个固定的 IV 值。
  2. 使用随机生成的 IV,并保存 IV 值: 每次加密使用随机生成的 IV,并将 IV 值保存下来,以便解密时使用相同的 IV。

选择哪种方法取决于您的具体需求和安全要求。如果您需要确保每次加密的结果完全一致,可以选择固定 IV 值。但如果您需要更高的安全性,建议使用随机生成的 IV。

Crypto.Cipher DES3 加密结果不一致问题:MODE_CBC 模式下如何保持加密结果一致性?

原文地址: https://www.cveoy.top/t/topic/nZ8R 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录