我做错了什么,我想让图像的加密字节创建一个新图像 但它抛出异常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!
答案 0 :(得分:0)
令人惊讶的是,无法将图像文件的加密字节解码为图像文件。
您可以尝试加密图像未压缩像素的字节,然后使这些字节代表另一图像的像素,并根据需要保存该图像。但是,如果您希望能够将生成的图像解密回原始的未加密图像,则需要以无损格式(例如PNG)写入加密的图像。 JPEG不会。