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)
上一篇 2022年6月21日 上午9:16
下一篇 2022年6月21日 上午9:16


相关推荐

  • 即梦ai排队等待慢怎么办

    即梦ai排队等待慢怎么办

    2026年3月12日
    2
  • C静态方法与非静态方法

    C静态方法与非静态方法C 静态方法与非静态方法 C 的类中可以包含两种方法 静态方法和非静态方法 使用了 static 修饰符的方法为静态方法 反之则是非静态方法 静态方法是一种特殊的成员方法 它不属于类的某一个具体的实例 而是属于类本身 所以对静态方法不需要首先创建一个类的实例 而是采用类名 静态方法的格式 1 static 方法是类中的一个成员方法 属于整个类 即不用创建任何对象也可以直接调用

    2026年3月17日
    2
  • linux中shell变量$#,$@,$0,$1,$2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释

    2022年3月8日
    41
  • TTL转RS232电路–分享原理图和参考资料

    RS232串口经常用到,本文分享下RS232协议方面基本点,并介绍一种简单的串口TTL(3.3V)电平转换为RS232电平的电路,这个电路是经过制板验证过的。使用芯片MAX3232E(tssop16封装),电源用3.3V,电路如下图MAX3232是支持两路uart转成RS232,分享的电路只接了一路,如有需要可以接两路另外上面电路是没有做隔离的,如果要做成隔离式的,可以加上光电开关。…

    2022年4月6日
    75
  • C 进度条使用

    C 进度条使用C 进度条的使用 Winform 自定义使用进度条

    2026年3月18日
    2
  • R 学习 – 火山图

    R 学习 – 火山图火山图火山图用于展示基因表达差异的分布 横轴为 Log2FoldChan 越偏离中心差异倍数越大 纵轴为 1 Log10P adjust 值越大差异越显著 一般横轴越偏离中心的点其纵轴值也会比较大 因此呈现火山喷发的形状 一步绘制火山图输入数据格式火山图需要的数据格式如下 本文用到的数据文件名为 volcano txt 文末有下载链接 此处截取一部分作为例子 也可用来画图 只是数据少 效

    2026年3月26日
    2

发表回复

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

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