2013-03-13 95 views
1

我正在使用目標c(iPad端)和C#(.net,服務器站點)之間的加密/解密。我正在使用此鏈接中的代碼: iPhone/C# AES Encryption目標c和C#之間使用AES128進行加密/解密

我們正在加密服務器端的XML並使用Web服務將其發送到iPad端。在我試圖解密的iPad端,它正在創建解密的數據,但無法將該數據轉換爲字符串。使用NSUTF8StringEncoding將數據轉換爲字符串有一些問題。

在從服務器發送到iPad之前,我們將它轉​​換爲base64字符串。

在iPad端加密和解密的同一個XML文件正常工作。

我相信加密數據中有一些特殊字符來自服務器端,因此它不會在iPad端解密。

有人可以給我任何建議。

謝謝!

回答

0

您無法通過網絡發送加密字符串。 您需要將加密的NSString轉換爲Base64字符串。 然後發送這個Base 64字符串到ipad。

+1

我們已經在做這個.i.e轉換加密的字符串到Base64 String.I也編輯我的問題。 – Rachit 2013-03-15 13:33:05

+0

嘗試編碼:當服務器數據轉換爲字符串時,NSASCIIStringEncoding而不是utf8。並使用stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding – 2013-03-20 07:26:42