0
私は暗号化されたイメージ(送信のためにbase64に変換された)を私のアンドロイドアプリに提供するサーバーを持っています。暗号化された画像は、アプリがキーを受信するまで(QRコードスキャンを介して)SDカードに格納されます。次に、アプリは画像を復号化して表示します。私は、データが正しく復号化されていることを意味するMD5ハッシュを比較しました(元のイメージバイト配列ハッシュは、解読されたバイト配列ハッシュと一致します)。ヌルバイト配列をビットマップに読み込む
Bitmap b = BitmapFactory.decodeByteArray(decrypted, 0, decrypted.length);
リターン:
問題はあります。
元の画像はBitmapFactoryで認識されるPNGですか?
バイト配列ハッシュが一致する場合は、データが送信/復号化されていることを確認しても問題ありませんか?
おかげで
私はハッシュを信頼することはできません笑。私はエコーbase64_encode(file_get_contents( "test.png"));それはその前にたくさんのスペースがある文字列を与えました。私はテキストを生のファイルにコピーし、アプリはnullを返しました – Dre
それで、あなたはそれを動作させましたか?もしそうなら、答えを設定します。 – blessenm
いいえ、エコーbase64_encode(file_get_contents( "test.png"))から取得した文字列を含む生ファイル。バイト配列をデコードしようとすると、nullを返します。たぶんそれは文字列の前のスペースと関係がありますか?ヌルパディング? – Dre