java 图片加密

java 图片加密首先,了解下异或操作^,对一个数进行两次异或操作得到原数值。publicclassIOTest{ publicstaticvoidmain(String[]args){ inti=3; System.out.println(i^123);//120 System.out.println(i^123^123);//3 }}将一张图片进…

大家好,又见面了,我是你们的朋友全栈君。

首先,了解下异或操作 ^ ,对一个数进行两次异或操作得到原数值。

public class IOTest {

	public static void main(String[] args) {
		
		int i = 3;
		System.out.println(i^123);//120
		System.out.println(i^123^123);//3

	}

}

将一张图片进行拷贝,对其进行加密,其实就是异或操作,

public class Test001 {
	public static void main(String[] args) throws Exception {
		
		FileInputStream in = new FileInputStream("F:\\Picture\\1.jpg");
		FileOutputStream out = new FileOutputStream("F:\\text\\copy.jpg");
		
		BufferedInputStream bin = new BufferedInputStream(in);
		BufferedOutputStream bout = new BufferedOutputStream(out);
		
		int len;
		while((len=bin.read())!=-1){
			bout.write(len^123);
		}
		bout.close();
		bin.close();
		
	}
	
}

效果:
java 图片加密
打开图片报错:
java 图片加密

接下来,对图片进行解密:就是对已经加密的图片,进行拷贝,执行异或操作

public class Test001 {
	public static void main(String[] args) throws Exception {
		
		FileInputStream in = new FileInputStream("F:\\text\\copy.jpg");
		FileOutputStream out = new FileOutputStream("F:\\text\\copy2.jpg");
		
		BufferedInputStream bin = new BufferedInputStream(in);
		BufferedOutputStream bout = new BufferedOutputStream(out);
		
		int len;
		while((len=bin.read())!=-1){
			bout.write(len^123);
		}
		bout.close();
		bin.close();
		
	}
	
}

java 图片加密

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151984.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • onbeforeunload事件_pageload事件何时触发

    onbeforeunload事件_pageload事件何时触发beforeunload事件简介当窗口,文档及其资源即将卸载时,将触发该事件。该文档仍然可见,此时事件仍可取消。如果为returnValueEvent属性分配了一个字符串,则会出现一个对话框,要求用户确认离开该页面(参见下面的示例)。IE浏览器在对话框中显示返回的字符串,但其他浏览器会显示自己的消息。如果未提供任何值,则以静默方式处理事件。注意:为了防止不需要…

    2025年8月16日
    4
  • HQL的左连接_左连接与右连接的区别

    HQL的左连接_左连接与右连接的区别最近做一个查询实现把一个表的记录全部显示出来并且显示关联的另外一个表的记录,这当然谁都知道要用到外连接查询,然而过程并不愉快。在Hibernate的映射文件中配置好关联关系之后,查询的时候可以直接使用比如selectnewmap(student.studentIDasstudentID,student.studentAccountasstudentAccount,student.stu

    2025年11月26日
    5
  • IOS获得各种文档文件夹路径的方法

    IOS获得各种文档文件夹路径的方法

    2022年1月7日
    49
  • Python面对对象相关知识总结

    很有一段时间没使用python了,前两天研究微信公众号使用了下python的django服务,感觉好多知识都遗忘了,毕竟之前没有深入的实践,长期不使用就忘得快。本博的主要目的就是对Python中我认为

    2021年12月29日
    43
  • Python 资源大全中文版[通俗易懂]

    Python 资源大全中文版[通俗易懂]Python资源大全中文版requests官方文档:http://cn.python-requests.org/zh_CN/latest/BeautifulSoup官方文档:https:/

    2022年7月6日
    28
  • JAVA环境变量配置步骤详细教程

    JAVA环境变量配置步骤详细教程概述Java的环境配置并不是特别难,但是对刚上手的新手来说确实是一个大问题首先下载jdk安装包网址进去选择自己需要的版本下载就行了,这里演示的是jdk-8u131-windows-x64_8.0.1310.11,版本稍老,道理一样安装下载后直接双击运行,这时会让你选择安装路径默认是C盘,这里改成自己想要存放的地方,小编放在了D盘的ROUTE文件夹下的java目录下的jdk1.8.0_131然后点击确定,下一步,开始跑进度条,但是不一会就会弹窗出来jre的安装路径我们点击更改,然后选择一个别的文

    2022年7月8日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号