本文实例为大家分享了java使用异或对文件进行加密解密的具体代码,供大家参考,具体内容如下

1.使用异或的方式加密文件的原理

一个数异或另一个数两次,结果一定是其本身

2.使用异或的原理加密文件

/**

* 将文件内容加密

* 使用异或的方式将a.txt加密复制出一个b.txt,放到同一个文件夹下

*/

@Test

public void encryptFile(){

FileInputStream in = null;

FileOutputStream out = null;

try {

String sourceFileUrl = "C:\\Users\\admin\\Desktop\\testIO\\a.txt";

String targetFileUrl = "C:\\Users\\admin\\Desktop\\testIO\\b.txt";

in = new FileInputStream(sourceFileUrl);

out = new FileOutputStream(targetFileUrl);

int data = 0;

while ((data=in.read())!=-1){

//将读取到的字节异或上一个数,加密输出

out.write(data^1234);

}

}catch (Exception e){

e.printStackTrace();

}finally {

//在finally中关闭开启的流

if (in!=null){

try {

in.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (out!=null){

try {

out.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

3.使用异或的原理解密文件

/**

* 将文件内容解密

* 将使用异或的方式加密复制出的b.txt解密到c.txt,放到同一个文件夹下

*/

@Test

public void decryptFile(){

FileInputStream in = null;

FileOutputStream out = null;

try {

String sourceFileUrl = "C:\\Users\\admin\\Desktop\\testIO\\b.txt";

String targetFileUrl = "C:\\Users\\admin\\Desktop\\testIO\\c.txt";

in = new FileInputStream(sourceFileUrl);

out = new FileOutputStream(targetFileUrl);

int data = 0;

while ((data=in.read())!=-1){

//将读取到的字节异或上一个数,加密输出

out.write(data^1234);

}

}catch (Exception e){

e.printStackTrace();

}finally {

//在finally中关闭开启的流

if (in!=null){

try {

in.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (out!=null){

try {

out.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

java 文件进行加密解密_java使用异或对文件进行加密解密相关推荐

  1. java 取pdf 文本域_java – 使用iText从pdf文件中提取文本列

    我需要使用iText从pdf文件中提取文本. 问题是:一些pdf文件包含2列,当我提取文本时,我得到一个文本文件,其中列被合并为结果(即同一行中两列的文本) 这是代码: public class pd ...

  2. 用java实现互换和清空_java使用异或实现变量互换和异或加密解密示例

    import java.util.Scanner; public class VariableExchange { public static void main(String[] args){ Sy ...

  3. java md5 16位解密_Java实现MD5(32/16位)大小写加密

    MD5简单介绍 大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法:与之类似,MD5就可以为任何文件(不管其大小.格式.数量)产生一个同样独一无二的&quo ...

  4. java生成word 框勾_Java 使用模板生成 Word 文件---基于 Freemarker 模板框架

    Java项目引入 Freemarker 插件自行完成. 步骤如下: 1.编写 Word 模板,并将模板中要用代码动态生成数据用 Freemarker 变量取代,即${变量名},如${username} ...

  5. java 对第三方的异常_Java第三方API调用打开文件方法时抛出异常

    想用Java写一个音乐播放器,使用了Javazoom里的第三方API,调用打开文件的方法open(File file)时,抛出了IOException:Resetting to invalid mar ...

  6. java csv 单元格格式_Java读写CSV格式的文件

    读取CSV文件 /** * 读取 CSV 文件 * * @return */ public static LinkedList readCSV(String path) { LinkedList li ...

  7. java pdfbox 提取pdf 标题_java – 使用pdfbox从PDF文件中提取文本

    我试图使用pdfbox从PDF文件中提取文本,但不是作为命令行工具,而是在我的 Java应用程序中.我正在使用jsoup下载pdf. res = Jsoup .connect(host+action) ...

  8. java 从xml读变量_java – 如何从XML属性文件加载变量?

    我目前正在从Ant中的XML文件加载属性.但是,我想在for循环中执行当前的ant任务,同时每次为同一组属性加载新的XML属性文件. 我知道ant-contrib的var任务的存在,它允许我覆盖属性. ...

  9. java实现保存合同模板_Java中常用到的文件操作那些事(一)——替换doc文档模板,生成真实合同案例...

    工作中,我们时常会遇到一些操作文件的操作,比如在线生成合同模板,上传/下载/解析Excel,doc文档转为pdf等操作.本文就已工作中遇到的在线生成合同为例,简要地介绍一种文档替换写法. 本文目的:给 ...

最新文章

  1. android gravity和layout_gravity区别
  2. jQuery中的 $.ajax的一些方法
  3. Flink状态后端配置(设置State Backend)
  4. 中国血统关系称谓大全
  5. 11.3finally块控制的读取文件释放
  6. UDP、广播、多播与IGMP(七)
  7. mybatis的学习笔记01
  8. 汇编语言——可由指令直接指定的I/O端口数
  9. maven工程运行环境修改
  10. java 邮件 tls_通过TLS发送的Java邮件
  11. html权重值_史上最全的web前端面试题汇总及答案HtmlCss(二)
  12. Linux 基金会执行董事 Jim Zemlin:全球 Linux 的发展和生态
  13. [中铁六局北京铁建公司]举办的演讲比赛所使用的界面(现场抓拍照片)
  14. 大数据GIS系列(2)——空间大数据处理与分析案例
  15. 三款好用的记账软件推荐
  16. DTCC 干货分享:Real Time DaaS - 面向TP+AP业务的数据平台架构
  17. m 文件 dll matlab 中调用_《淫巧系列二》MATLAB中直接调用Python
  18. Matlab 括号用法
  19. 计算机越学越难不想学了,“我今年大一,学的专业是计算机,真的快崩溃了,什么都不懂”...
  20. 邮件这样写,PK 掉 99% 的同事

热门文章

  1. g++: internal compiler error: Killed (program cc1plus)Please submit a full bug report,内存不足问题解决
  2. Gradle_04_解决多项目同级依赖时找不到符号的异常
  3. 【报告分享】2021快手内容生态半年报:从心出发.pdf(附下载链接)
  4. 【报告分享】2021技术趋势报告-德勤.pdf(附下载链接)
  5. 【报告分享】管理者实效管理工具包:用最佳策略和资源留住您最优秀的人才.pdf...
  6. Linux一个坑-安装pip更新源
  7. 浙大 PAT b1018
  8. 浙大 PAT b1017
  9. 吉林大学计算机专业宿舍研究生,吉林大学计算机系的研究生宿舍怎么样?我想考那的..._在职考研_帮考网...
  10. php.ini 是否设置路由,php – 如何在路由INI文件中为Zend Framework中的子域编写路由链?...