小编Pau*_*man的帖子

iOS中的AES解密:PKCS5填充和CBC

我正在为iOS实现一些解密代码,用于源自我无法控制的服务器上的消息.另一个平台上的先前实现记录了解密要求AES256,指定了密钥和初始化向量,并且还说:

 * Cipher Mode: CBC
 * Padding: PKCS5Padding
Run Code Online (Sandbox Code Playgroud)

创建CCCryptor对象的选项仅包括kCCOptionPKCS7Padding和kCCOptionECBMode,注意CBC是默认值.根据我对填充加密的理解,我不明白如何使用这两者; 我以为它们是相互排斥的.在创建用于解密的CCCryptor时,我尝试使用0作为选项和kCCOptionPKCS7Padding,但是在解密之后都给了我乱码.

我已经将这个解密的转储与另一个平台上解码的字节缓冲区的转储进行了比较,并确认它们确实是不同的.所以我在这个实现中做的事情有很大不同,我只是不知道是什么......并且没有关于如何处理它的线索.平台不同,很难从之前的实现中推断出很多,因为它基于一个非常不同的平台.当然,之前实施的作者已经离开了.

任何猜测其他可能不兼容或如何解决这个问题?

aes padding ios

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

aes ×1

ios ×1

padding ×1