2011-08-23 42 views
0

私は暗号化されたイメージ(送信のためにbase64に変換された)を私のアンドロイドアプリに提供するサーバーを持っています。暗号化された画像は、アプリがキーを受信するまで(QRコードスキャンを介して)SDカードに格納されます。次に、アプリは画像を復号化して表示します。私は、データが正しく復号化されていることを意味するMD5ハッシュを比較しました(元のイメージバイト配列ハッシュは、解読されたバイト配列ハッシュと一致します)。ヌルバイト配列をビットマップに読み込む

Bitmap b = BitmapFactory.decodeByteArray(decrypted, 0, decrypted.length); 

リターン:

問題はあります。

元の画像はBitmapFactoryで認識されるPNGですか?

バイト配列ハッシュが一致する場合は、データが送信/復号化されていることを確認しても問題ありませんか?

おかげで

答えて

0

まあ画像は任意の暗号化/復号化せずにBitmapFactoryにバイトをロードしてみてください。 それでも起こっているのであれば、bytw配列の作成に伴う問題は、暗号化/復号化の原因ではないことがわかります。

+0

私はハッシュを信頼することはできません笑。私はエコーbase64_encode(file_get_contents( "test.png"));それはその前にたくさんのスペースがある文字列を与えました。私はテキストを生のファイルにコピーし、アプリはnullを返しました – Dre

+0

それで、あなたはそれを動作させましたか?もしそうなら、答えを設定します。 – blessenm

+0

いいえ、エコーbase64_encode(file_get_contents( "test.png"))から取得した文字列を含む生ファイル。バイト配列をデコードしようとすると、nullを返します。たぶんそれは文字列の前のスペースと関係がありますか?ヌルパディング? – Dre

関連する問題