我需要加密iPhone上的字符串并将其发送到.Net Web服务进行解密.我能够在iPhone和.Net上加密/解密,但是来自iPhone的加密字符串不能被.Net解密.我得到的错误是"填充无效,无法删除".
.Net代码来自:http: //blog.realcoderscoding.com/index.php/2008/07/dot-net-encryption-simple-aes-wrapper/
iPhone代码使用以下示例代码:http://nootech.wordpress.com/2009/01/17/symmetric-encryption-with-the-iphone-sdk/
AFAIK我的关键设置是相同的:
result.BlockSize = 128; // iPhone: kCCBlockSizeAES128
result.KeySize = 128; // kCCBlockSizeAES128
result.Mode = CipherMode.CBC;
result.Padding = PaddingMode.PKCS7; // kCCOptionPKCS7Padding
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的生成密文的方法.你好/你好是:
e0PnmbTg/3cT3W + 92CDw1Q == .Net
iPhone上的yrKe5Z7p7MNqx9 + CbBvNqQ ==
和"openssl enc -aes-128-cbc -naltalt -a -in hello.txt -pass pass:hello"生成:QA + Ul + r6Zmr7yHipMcHSbQ ==
更新:我在这里发布了相应的工作代码.