我正在實施AES128位加密/解密在iOS應用程序中用於從.net服務器發送/接收數據,我幾乎完成,但在單元測試期間,我在加密字符串中遇到了一些問題,一些加密的字符串與.net服務器上的不相似,可以說98%的字符串在兩端都是正確的,但問題出現在2%的字符串中,當我匹配雙方加密的字符串,然後在iOS端找到生成的字符串時, .net結束它是很長的字符串。還有一件事我發現iOS字符串是.net字符串的子字符串。當我試圖解密iOS生成的加密字符串時,它不解密顯示爲空,但當我嘗試解密.net服務器生成的加密字符串(它比iOS大)時,我可以選擇解密的字符串。AES128位加密字符串與上不相似.net
使用相同的KEY(服務器和iOS端的長度爲16個字符)。
能否請您提出解決方案或我錯在哪裏。
非常感謝大家。
原始字符串: 「CUSTID = 10 &模式= 1」 KEY = 「PasswordPassword」
在iOS的加密字符串: r51TbJpBLYDkcPC + Ei6Rmg ==
在.NET encrpted字符串: r51TbJpBLYDkcPC + Ei6RmtY2fuzv3RsHzsXt/RpFxAs =
用於加密的填充= kCCOptionPKCS7Padding;
我按照這個教程。 http://automagical.rationalmind.net/2009/02/12/aes-interoperability-between-net-and-iphone/
發表你的iOS代碼,我認爲它可能是你的緩衝區的大小,我最近有一個類似的問題 – SeanLintern88 2013-03-20 11:04:18
我修復了這個問題,我從這個鏈接獲得解決方案,用戶分享他們的實現經驗:http:// automagical .rationalmind.net/2009/02/12/aes-互操作性 - 網絡和iphone/ – 2013-03-20 11:30:52