我在 iOS 应用程序中实现 AES128 位加密/解密,用于从 .net 服务器发送/接收数据,我几乎完成了,但是在单元测试期间,我在加密字符串中遇到了一些问题,一些加密字符串与 .net 服务器上的不相似,可以说 98% 的字符串在双方都是正确的,但问题出现在 2% 的字符串中,当我匹配双方加密的字符串时,然后在 iOS 端发现生成的字符串有点短,.net 端它是长字符串。我发现 iOS 字符串的另一件事是 .net 字符串的子字符串。当我尝试解密 iOS 生成的加密字符串时,它没有被解密显示为空,但是当我尝试解密 .net 服务器生成的加密字符串(它比 iOS 大)时,我能够看到解密的字符串。
使用相同的 KEY(服务器端和 iOS 端长 16 个字符)。
您能否提出解决方案或我错在哪里。
非常感谢大家。
原始字符串:"custId=10&mode=1" KEY= "PasswordPassword"
在 iOS 加密字符串:r51TbJpBLYDkcPC+Ei6Rmg==
在 .net 加密字符串:r51TbJpBLYDkcPC+Ei6RmtY2fuzv3RsHzsXt/RpFxAs=
加密填充 = kCCOptionPKCS7Padding;
我按照本教程进行操作。 http://automagical.rationalmind.net/2009/02/12/aes-interoperability-between-net-and-iphone/