黑马程序员技术交流社区
标题:
IO加密图片的小知识点---^
[打印本页]
作者:
Sphinx
时间:
2016-6-21 23:58
标题:
IO加密图片的小知识点---^
IO的字节流是比较简单的一部分,图片加密是其中一个比较实用的方式,利用了^两次得到本身的原理,以任意合理int数作为密钥加密.听起来很简单,但在今天的运行中发现了一个问题.大家有兴趣都可以试试.
C:\Users\Administrator\Desktop\图片\test.png
-----------------------------我是分割线
这样加密之后,要如何才能得到解密图片呢?
经过几番周折,尝试过(len-50*13)^128等诸多尝试,一直没有成功.最终发现,解密的密钥就是len^128+50*13.运算符中,+的优先级比^高......
希望这个小知识点可以帮到大家
作者:
Sphinx
时间:
2016-6-22 00:00
package com.heima.test; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Test1 { /** 利用^加密图片 ^后面的数字相当于是密钥,同一对象异或两次得到本身. * @throws IOException */ public static void main(String[] args) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream("chong.jpg")); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("chong1.jpg")); int len; while((len = bis.read())!=-1) { bos.write(len^128+50*13); } bis.close(); bos.close(); } }
作者:
Sphinx
时间:
2016-6-22 00:02
初次发帖,排版无能,建议粘到eclipse运行试试
作者:
火影木叶
时间:
2016-6-22 00:09
可以的 现学现卖
作者:
jiazhuoxiao
时间:
2016-6-22 10:19
收藏了
作者:
Sphinx
时间:
2016-6-22 23:37
火影木叶 发表于 2016-6-22 00:09
可以的 现学现卖
也是我们班的啊,居然碰上了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2