私は入力されたNSStringをCCCrypt(AES256)とプレーンテキストキーを使って暗号化するiPhoneアプリを持っています。文字列とキーは、NSDataオブジェクトを返す暗号化メソッドに渡されます。私はNSStringのにそれを変換しようとすると、「< 0b368353 a707e7de 3eee5992 ee69827e e3603dc2 b0dbbc0b 861ca87d f39ce72a>」しかし、私は(」を取得:「データ」は暗号化された文字列のデータは以下のようにNSStringのを与えている[データ記述]を要求obj-cのNSStringに暗号化されたNSData?
ヌル)"。
NSStringをユーザーに返す必要があります。これを使用して、同じプレーンテキストキーを使用して元の文字列に復号化することができます。 NSDataオブジェクトの 'description'プロパティが文字列を返すことができる場合、NSDataオブジェクトから「(null)」を取得せずにNSStringを生成する方法はありますか?
更新:Quinnに感謝します.Muddled文字列を生成するためにBase64エンコーディングを使用することをお勧めします。私が理解しているところから、Base64エンコーディングは単純に文字を入れ替えるのではなく、文字のやりとりは位置に依存するので、問題ありません。
私は、「パスフレーズ」でメッセージを暗号化したいと思っています。混乱した文字列をデコードする必要があるときに、同じパスフレーズを入力する必要があります。誰でもこれを実装する方法を提案できますか?
私はこれを解決するために私の答えを更新しました。あなたは正しいです、Base64は置換アルゴリズムではありません - 基本的に3バイトを4バイトに拡張するので、エンコードされたデータはエンコードされていないデータの1.37倍です。基本的には、3つの8ビットチャンクを取り、それを4つの6ビットチャンクに再分割し、それぞれを8ビットチャンクとして再解釈します。これは簡単にASCIIで表現できます。ウィキペディアには詳細があります。 –