将加密的图像(字节数组)打印到新图像中

时间:2018-06-26 15:06:14

标签: java image swing buffer

我做错了什么,我想让图像的加密字节创建一个新图像 但它抛出异常IllegalArgumentException:

RC6Algorithm rc6 = new RC6Algorithm();
byte[] enc = rc6.encrypt(imageByte, key.getBytes());
ByteArrayInputStream in = new ByteArrayInputStream(enc);
BufferedImage   newImage = ImageIO.read(in);
ImageIO.write(newImage, "jpg", new File(
                    "d:/s.jpg"));

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: 
image == null!

1 个答案:

答案 0 :(得分:0)

令人惊讶的是,无法将图像文件的加密字节解码为图像文件。

您可以尝试加密图像未压缩像素的字节,然后使这些字节代表另一图像的像素,并根据需要保存该图像。但是,如果您希望能够将生成的图像解密回原始的未加密图像,则需要以无损格式(例如PNG)写入加密的图像。 JPEG不会。