我在iOS中使用StringEncryption.m库来加密消息,然后在.Net项目中解码它们。
对于99.9%的消息,加密/解密过程有效。但是,iOS应用程序发送的特定消息总是会导致.Net项目中出现“填充无效”错误。
问题消息是800字节长。如果我强制它为799或801字节,加密/解密工作。
双方都使用CBC,iOS解决方案使用PKCS7填充。 有什么想法吗?
答案 0 :(得分:1)
跟随Ramhounds指导并产生了相同长度的不同消息。问题取决于iOS上的加密库。
在这里找到答案:Encrypting 16 bytes of UTF8 with SecKeyWrapper breaks (ccStatus == -4304)