.net サーバーからデータを送受信するために、iOS アプリケーションに AES128 ビット暗号化/復号化を実装しています。ほぼ完了しましたが、単体テスト中に暗号化文字列に問題が発生しました。一部の暗号化文字列は、.net サーバーとは異なります。両側で 98% の文字列が正しいとしますが、問題は 2% の文字列で発生します。両側の暗号化された文字列を照合すると、iOS 側で生成された文字列が少し短く、.net 側で長い文字列であることがわかります。もう1つ、iOS文字列が.net文字列の部分文字列であることがわかりました。iOS で生成された暗号化された文字列を復号化しようとすると、null が表示されて復号化されませんが、.net サーバーで生成された暗号化された文字列 (iOS よりも大きい) を復号化しようとすると、復号化された文字列を使用できます。
同じキー (サーバーと 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/