iOS和.NET之间的Rijndael加密

本文关键字:Rijndael 加密 之间 NET iOS | 更新日期: 2023-09-27 18:37:05

我正在使用iOS中的StringEncryption.m库来加密消息,然后在.Net项目上解码它们。

对于 99.9% 的消息,加密/解密过程有效。但是,iOS 应用发送一条特定消息,该消息始终导致 .Net 项目上出现"填充无效"错误。

问题消息的长度为 800 字节。如果我强制它为 799 或 801 字节,则加密/解密有效。

双方都使用 CBC,iOS 解决方案使用 PKCS7 填充。有什么想法吗?

iOS和.NET之间的Rijndael加密

遵循Ramhounds的指导,并产生了相同长度的不同消息。问题在于iOS上的加密库。

在这里找到答案:使用 SecKeyWrapper 中断加密 16 字节的 UTF8 (ccStatus == -4304)