利用java程序实现文件加密
我们的文件在计算机中都是以二进制的形式存储,而Java中IO流(字节流和字符流)可以实现对底层文件的读取,故利用Java的IO流进行文件拷贝时,可以对底层二进制进行加密操作,随后通过解密操可以还原。
例如,我们对桌面上的一段avi视频文件进行加密操作,首先利用字节流对avi文件进行读取(read()函数),该函数每次读取一个字节(8位),并返回0~255内的字节值,我们通过将每次读取的字节值加1进行加密操作,这样拷贝的文件就实现了加密。随后我们可以对加密后的文件进行减1,实现解密操作。
package demo;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 IOSercet {public static void main(String[] args) throws IOException {decrypt("C:\\Users\\Dell\\Desktop\\原视频.avi");}//加密public static void secret(String str) throws IOException{BufferedInputStream bis = new BufferedInputStream(new FileInputStream(str));String [] s=str.split("\\.");BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\Users\\Dell\\Desktop\\marden1."+s[1]));int n;long a=System.currentTimeMillis();while((n=bis.read())!=-1){bos.write(n+1);}long b=System.currentTimeMillis();bis.close();bos.close();System.out.println("加密拷贝成功!");System.out.println("加密用时:"+(b-a)+"ms");}//解密public static void decrypt(String str) throws IOException{BufferedInputStream bis = new BufferedInputStream(new FileInputStream(str));String [] s=str.split("\\.");BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\Users\\Dell\\Desktop\\marden2."+s[1]));int n;long a=System.currentTimeMillis();while((n=bis.read())!=-1){bos.write(n-1);}long b=System.currentTimeMillis();bis.close();bos.close();System.out.println("解密拷贝成功!");System.out.println("解密用时:"+(b-a)+"ms");}
}
通过上述加密算法,我们得到加密后的视频文件marden1.avi。并且用potplayer播放器进行测试,效果图下图所示:
通过上述解密算法,我们得到解密后的视频marden2.avi。并且用potplayer播放器进行测试,最后运行结果完美。
即通过复制视频文件时,将获取的每个字节的数据进行加1和减1操作后,可以实现加密和解密。
同理,我们利用上述加密解密算法进行文本的测试。加密后的文本显示为乱码,效果图下图所示:
通过解密算法得到解密后的文本,效果如下图所示:
哈哈哈~~~利用上面的小技巧可以对百度云中的文件进行自定义加密~~再也不怕百度云爸爸把我的宝贵资源和谐掉了~~
利用java程序实现文件加密相关推荐
- 利用java进行zip文件解压缩
利用java进行zip文件解压缩 本文利用Java的zip包中的ZipFile和ZipEntry两个类,获取到压缩包中的所有文件,并将压缩文件通过InputStream写入一个byte数组,再将该by ...
- java qq 传送文件_如何利用Java实现QQ文件传输功能.pdf
您所在位置:网站首页 > 海量文档  > 计算机 > Java 如何利用Java实现QQ文件传输功能.pdf2页 本文 ...
- Java基础篇之利用IO流给文件加密、解密
目标:给文件加密.解密(最基础版) 注意: a.加密过程:先读取整个目标文件,然后将目标文件写入一个新的文件中,在写入的过程中,每隔几个字符插入一个加密符号(随意定),此时这个新的文件就是加密文件 b ...
- 【密码学】Java课设-文件加密系统(适用于任何文件)
Java实现文件加密解密 前言 一.密码学入门 1.对称加密 2.非对称加密 二.程序代码 1.welcome类(欢迎界面) 2.Log类(登录界面) 3.Register类(注册界面) 4.Inde ...
- Java实现批量文件加密
一.题目要求: 用Java实现一个文件批量加密解密工具,实现以下功能: 1. 要有图形界面. 2. 能够通过界面设置一个目录,软件对该目录下的所有文件进行加密或解密(使用对称或非对称加密算法). 加密 ...
- 利用JAVA程序批量导入csv数据到MySQL数据库
正在学习利用R进行统计学相关知识的实验,实验数据计划采用北京市环境监测数据,此数据可以在这个网址"https://quotsoft.net/air/"中下载,目前可提供2013年1 ...
- 基于JAVA的SM4文件加密解密,可以直接使用
@[JAVA]SM4文件加密以及解密 SM4文件加密 本加密只需要填写一个 key就可以了,需要导入两个包,一个是bcprov-jdk15on-1.59.jar 另一个是hutool-all-4.6. ...
- java简单的文件加密
文件加密是建立在文件复制的基础之上,说白了就是将一个文件复制过去,期间加上一些干扰信息,致使文件发生改变,来达到文件加密的效果. 文件解密是根据文件相应的加密,来进行解密. 本次加密是比较简层次的加密 ...
- 毕业设计-基于微信小程序的文件加密系统
目录 前言 课题背景与简介 实现设计思路 一.文件加密系统现状 二.系统总体设计 三.系统流程设计 四.系统实现 五.总结 实现效果样例 更多帮助 前言
- excel中用java语言_利用 JAVA 操作 EXCEL 文件
Java Excel 是一开放源码项目,通过它 Java 开发人员可以读取 Excel 文件的内容.创建新的 Excel 文件.更新已经存在的 Excel 文件.使用该 API 非 Windows 操 ...
最新文章
- Android EditView 软键盘把布局顶上去的处理方法
- ETC公布2018线路图,试图追赶ETH
- Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received
- php微信支付分取消订单,微信支付PHP开发教程五关闭订单
- 创建简单的Flex组件
- SQL中的CONSTRAINT用法总结
- 中文宾州树库标记含义
- matlab 指定函数拟合,matlab中曲线拟合问题---使用指定函数进行曲线拟合
- promise A+ 原理
- python技术分享_分享几个python的使用技巧
- python获取linux本机IP
- cookie的封装删除修改
- Node.js开发框架Express4.x
- KL散度-Entropy-JS散度-W距离
- orange软件使用
- C#解压zip和rar文件
- CRC 8/16/32通用算法(C 语言版)
- 台式计算机怎么把声音输出,台式电脑音频管理器的设置教程 台式电脑音响没声音怎么弄...
- C语言等级考试作业,等级考试C语言基础测试题
- LQR,iLQR,DDP控制论经典算法(MBRL基础知识)
热门文章
- 高分三号卫星(GF-3)简介
- JAVEWEB 过滤器Filter的实现
- 深度学习怎么入门?零基础快速入门深度学习
- MarkDown 下载-安装
- nb信号和4g信号_nb信号和4g信号_NB-IoT的网络如何组成,以及数据如何传输?
- linux微信电脑版登录不了,默认Windows与Deepin系统下的微信电脑版目录
- IDEA打包jar包并运行
- python灰色预测模型_GM(1,n)(灰色模型代码)
- oracle数据库报01033,oracle数据库报ORA-01033错误
- Android安全测试框架Drozer(安装篇)