Python DES3 加密结果不一致问题:Crypto vs. pyDes
这是因为在使用 Crypto 模块中的 DES3 加密时,如果使用 'MODE_CBC' 模式,每次加密时都会生成一个随机的 IV(初始化向量),因此每次加密的结果都不一样。而 pyDes 默认使用的是 'ECB' 模式,不需要 IV,因此每次加密结果都相同。
如果你想让 Crypto 模块中的 DES3 加密每次结果都一样,你需要自己指定一个固定的 IV,并且每次加密时都使用相同的 IV。可以将 IV 作为参数传递给 DES3 对象的构造函数,或者在加密时手动指定 IV。
注意,使用相同的 IV 加密多个消息可能会导致安全问题,因为 IV 应该是随机的,并且每个消息应该使用不同的 IV。因此,如果你需要加密多个消息,最好为每个消息生成一个新的随机 IV。
原文地址: https://www.cveoy.top/t/topic/nZ8h 著作权归作者所有。请勿转载和采集!