Android:“加密”图像的简单方法

时间:2015-02-05 12:00:14

标签: java android encryption bitmap

我正在寻找一种在Android上隐藏图片内容的简单方法。我不需要任何高安全性加密,我只需要一种方法来隐藏人眼(不是专用机器)的内容。

我想要的是:

  • 加密:输入图像,输出无法看到原始内容的图像
  • 解密:输入“加密”图像,输出原始输入。

我试图通过在第三个像素中存储前两个像素的总和并将之前的一个像素设置为随机数来修改位图的像素流,但是使用此方法,图像的主要形状是仍然可见。

我还尝试获取位图的字节数组,并将XOR作为单个字节,如下所示:

    Bitmap src = ((BitmapDrawable)original.getDrawable()).getBitmap();
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    src.compress(Bitmap.CompressFormat.PNG, 100, stream);
    byte[] byteArray = stream2.toByteArray();
    byte[] encrByte = new byte[byteArray.length];

    for(int i = 0; i < encrByte.length; i++) {
        encrByte[i] = byteArray[i] ^ 5;
    } 
    Bitmap bmpDecr = BitmapFactory.decodeByteArray(encrByte, 0, encrByte.length);

但这破坏了图像。

有人知道如何实现这样的行为吗?提前致谢。

0 个答案:

没有答案