这是我参与更文挑战的第7天,活动详情查看: 更文挑战
IO流传输中的图片加密
1.加密过程
1 | js复制代码package 图片加密_2020; |
1 | js复制代码 fis = new FileInputStream(new File("怪物万岁.png")); |
fis接收需要加密的图片文件
fos存放加密后文件
1 | js复制代码 while ((len = fis.read(buffer)) != -1) { |
buffer[i] = (byte) (buffer[i] ^ 5);
关键加密步骤,将buffer中的每一位与5或其他数字异或操作,不经解密程序的操作,得到的图片将不能正常打开。
2.解密操作
1 | js复制代码package 图片加密_2020; |
1 | js复制代码 fis = new FileInputStream(new File("怪物万岁(加密).png")); |
fis接收加密后的文件
fos则存放解密后的图片文件
1 | js复制代码 for (int i = 0; i < len; i++) { |
其中,解密操作再次异或5,根据异或操作的特性可以得到正常的图片内容。
本文转载自: 掘金