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 图片加密

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux openssl制作ssl证书_openssl生成自签名证书 c++代码

    linux openssl制作ssl证书_openssl生成自签名证书 c++代码目录前言1概念2环境3创建根证书CA4颁发证书4.1在需要证书的服务器上,生成证书签署请求4.2在根证书服务器上,颁发证书5测试5.1读取test.pfx文件5.2读取test.cer文件前言最近,被分配了一个任务,完成数字证书管理系统的开发,一开始我是一脸懵逼的,因为以前我对于什么数字证书都没了解过,可谓了一片空白,也不知其是用来…

  • pytest parametrize fixture_pytest参数化可变参数

    pytest parametrize fixture_pytest参数化可变参数前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

  • AI经典案例_北京航空航天大学高小鹏

    AI经典案例_北京航空航天大学高小鹏来源:新智元本文约8000字,建议阅读10分钟本次报告评估了2016年至2021年间人工智能的发展,涵盖14大问题,探讨了人工智能发展的关键领域。时隔5年,由斯坦福大学教授李飞飞主导…

  • QGIS 3.10 路径分析

    QGIS 3.10 路径分析网络数据集(networks)的创建、管理和可视化是GIS的重要组成部分。公路、铁路、管线等公用基础设施都可以建模为由线和节点组成的带有属性信息的网络数据。本教程将学习如何对路网进行建模,如何运用样式对路网属性可视化,同时通过QGIS3.10内置的路径分析工具找出两点之间的最短路径。任务概述通过华盛顿地区道路中心线图层,建立路网并查找城市中任意两点之间的最短路径。将会学到的其他技巧使用数据定义覆盖(datadefinedoverrides),根据线的方向对齐箭头符号。获取示范数据本教程

  • IE浏览器安装插件(ocx)提示“windows 已经发现此文件有一个问题”怎么办?「建议收藏」

    IE浏览器安装插件(ocx)提示“windows 已经发现此文件有一个问题”怎么办?「建议收藏」当我们在win7操作系统中浏览网页,在有些网页需要登入账号密码需要安装插件才能够输入进去。一般我们只需按步骤下载安装插件就可以了。但是由用户反映,在下载好插件准备运行的时候,发现怎么样都安装不了,这样就无法登入账号了,该怎么办呢?接下来小编给大家介绍下解决方法。步骤:1、打开IE浏览器,在浏览器中点一下“alt”键,然后点击“工具”—“internet选项”;2、在

  • 解决微信H5获取SDK授权报错提示errMsg: “config:fail,Error: 系统错误,错误码:63002,invalid signature [20200908 22:17:17][]“

    解决微信H5获取SDK授权报错提示errMsg: “config:fail,Error: 系统错误,错误码:63002,invalid signature [20200908 22:17:17][]“如果常规检查都做过可以仔细看下https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Global_Return_Code.html这个里面的报错原因如果都不是那么极有可能是(看样子你的H5页面日活人数还蛮多[呲牙])获取腾讯微信平台access_token超过每日默认上限2000次导致无法获取本地地理信息坐标,通常会报错errMsg:”config:fail,Error:系统错误,错误码:63002,invali…

    2022年10月31日

发表回复

您的电子邮箱地址不会被公开。

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