Java 安卓:简单的方法;加密";形象

Java 安卓:简单的方法;加密";形象,java,android,encryption,bitmap,Java,Android,Encryption,Bitmap,我正在寻找一种在Android上隐藏图像内容的简单方法。我不需要任何高安全性的加密,我只需要一种方法来隐藏内容,让人看不见(不是专用机器) 我想要的是: 加密:输入图像,输出无法看到原始内容的图像 解密:输入“加密”图像,输出原始输入 我试图通过将前两个像素的总和存储在第三个像素中并将其中一个像素设置为随机数来修改位图的像素流,但使用这种方法,图像的主要形状仍然可见 我还尝试获取位图的字节数组,并对单个字节进行异或,如下所示: Bitmap src = ((BitmapDrawabl

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

我想要的是:

  • 加密:输入图像,输出无法看到原始内容的图像
  • 解密:输入“加密”图像,输出原始输入
我试图通过将前两个像素的总和存储在第三个像素中并将其中一个像素设置为随机数来修改位图的像素流,但使用这种方法,图像的主要形状仍然可见

我还尝试获取位图的字节数组,并对单个字节进行异或,如下所示:

    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);
Bitmap src=((BitmapDrawable)original.getDrawable()).getBitmap();
ByteArrayOutputStream=新建ByteArrayOutputStream();
src.compress(Bitmap.CompressFormat.PNG,100,流);
字节[]byteArray=stream2.toByteArray();
字节[]encrByte=新字节[byteArray.length];
对于(int i=0;i
但这破坏了形象


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

尝试使用计数器对其进行异或运算,并在达到256时环绕。请参阅。这不完全是你想要的,但应该有效。