【问题标题】:Read byte array into bitmap将字节数组读入位图中
【发布时间】:2011-08-23 19:15:22
【问题描述】:

我有一个服务器,它向我的 android 应用程序提供加密图像(转换为 base64 以供传输)。加密图像将保存在 SD 卡上,直到应用程序收到密钥(通过 QR 码扫描)。然后应用程序将解密图像并显示它。我一直在比较 MD5 哈希,这意味着数据被正确解密(原始图像字节数组哈希与解密字节数组哈希匹配)。

问题是:

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

返回空值。

原图是PNG,BitmapFactory应该能识别吗?

如果字节数组散列匹配,是否确认数据正在传输/解密OK?

谢谢

【问题讨论】:

    标签: php android png bytearray


    【解决方案1】:

    尝试将图像字节加载到 BitmapFactory 中而不进行任何加密/解密。 如果还是这样,那么就是创建字节数组的问题,我们可以知道原因不是加密/解密引起的。

    【讨论】:

    • 猜猜我不能相信哈希然后大声笑。我做了 echo base64_encode(file_get_contents("test.png"));它给出了一个前面有很多空格的字符串。我将文本复制到原始文件中,应用返回 null
    • 否,包含从 echo base64_encode(file_get_contents("test.png")) 获得的字符串的原始文件;尝试解码字节数组时仍然给出 null 。也许它与字符串前面的空格有关?空填充?
    • 然后尝试使用java的修剪功能。它将删除前导和尾随空格。
    • 不包括空格。他们应该是吗?
    • helloandroid.com/tutorials/… 试试本教程的内容。这里给出了图像的路径,并且 php 代码不用于提供 base 64 字符串。如果这可行,那么问题是在 php 转换为 base 64 时引起的
    猜你喜欢
    • 2018-12-16
    • 2010-10-29
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 2018-05-06
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多