0

服务器端使用 AES/ECB/PKCS5Padding 加密模式,在客户端(移动设备)是否可以使用 AES/CBC/PKCS5Padding 对其进行解密。或者我们需要对服务器端和客户端使用相同的模式?

请指教。

4

1 回答 1

2

ECB 和 CBC 模式本质上是不同的(维基百科)。ECB 只是将分组密码分别用密钥分别应用于每个明文块,但 CBC 将当前明文块与最后一个密文块进行异或。

一次解密需要完全相同的模式和填充。如果您有权访问AES/CBC/NoPadding,但不能访问AES/ECB/PKCS5PaddingAES/ECB/NoPadding,则可以AES/ECB/PKCS5Padding通过分别解密每个块来解密加密数据。

ECB 是一种模式,其中每个块都以完全相同的方式加密,而不是像 CBC 模式那样与前一个块链接。因此,您可以使用 CBC 模式分别解密每个块,从而形成 ECB 模式。IV 必须设置为 0x00 字节,最后一个块必须用AES/CBC/PKCS5Padding0 IV 解密。

于 2015-02-26T10:47:09.747 回答