java怎么给文件加密_java中如何给文件加密
展开全部
java给文件32313133353236313431303231363533e58685e5aeb931333337616636加密使用的md5的加密算法,实例如下:package com.umapp.test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.Key;
import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.CipherInputStream;
import javax.crypto.CipherOutputStream;
import javax.crypto.KeyGenerator;
public class TestDES {
Key key;
public TestDES(String str) {
getKey(str);//生成密匙
}
/**
* 根据参数生成KEY
*/
public void getKey(String strKey) {
try {
KeyGenerator _generator = KeyGenerator.getInstance("DES");
_generator.init(new SecureRandom(strKey.getBytes()));
this.key = _generator.generateKey();
_generator = null;
} catch (Exception e) {
throw new RuntimeException("Error initializing SqlMap class. Cause: " + e);
}
}
/**
* 文件file进行加密并保存目标文件destFile中
*
* @param file 要加密的文件 如c:/test/srcFile.txt
* @param destFile 加密后存放的文件名 如c:/加密后文件.txt
*/
public void encrypt(String file, String destFile) throws Exception {
Cipher cipher = Cipher.getInstance("DES");
// cipher.init(Cipher.ENCRYPT_MODE, getKey());
cipher.init(Cipher.ENCRYPT_MODE, this.key);
InputStream is = new FileInputStream(file);
OutputStream out = new FileOutputStream(destFile);
CipherInputStream cis = new CipherInputStream(is, cipher);
byte[] buffer = new byte[1024];
int r;
while ((r = cis.read(buffer)) > 0) {
out.write(buffer, 0, r);
}
cis.close();
is.close();
out.close();
}
/**
* 文件采用DES算法解密文件
*
* @param file 已加密的文件 如c:/加密后文件.txt
* * @param destFile
* 解密后存放的文件名 如c:/ test/解密后文件.txt
*/
public void decrypt(String file, String dest) throws Exception {
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.DECRYPT_MODE, this.key);
InputStream is = new FileInputStream(file);
OutputStream out = new FileOutputStream(dest);
CipherOutputStream cos = new CipherOutputStream(out, cipher);
byte[] buffer = new byte[1024];
int r;
while ((r = is.read(buffer)) >= 0) {
System.out.println();
cos.write(buffer, 0, r);
}
cos.close();
out.close();
is.close();
}
public static void main(String[] args) throws Exception {
TestDES td = new TestDES("aaa");
td.encrypt("e:/r.txt", "e:/r解密.txt"); //加密
td.decrypt("e:/r解密.txt", "e:/r1.txt"); //解密
}
}
java怎么给文件加密_java中如何给文件加密相关推荐
- java读取文件 路径_Java中的获取文件的物理绝对路径,和读取文件
获取文件的绝对路径,读取该文件 一.文件目录打印图 下面的文件目录图,是项目中文件的位置信息:下面的例子是按照这个图来演示的. . |-- java | |-- ibard | | |-- demo1 ...
- java资源文件路径_Java 中获取资源(文件)的路径问题总结
Java 中获取资源(文件)的路径问题总结 首先,Java 中获取资源大体上可分为两种方式,基于 文件系统的 和 基于classpath的. 1. 基于文件系统的相对简单. 比如 构造一个File f ...
- java file文件读取文件内容_java中的File文件读写操作
之前有好几次碰到文件操作方面的问题,大都由于时间太赶而没有好好花时间去细致的研究研究.每次都是在百度或者博客或者论坛里面參照着大牛们写的步骤照搬过来,之后再次碰到又忘记了.刚好今天比較清闲.于是就在网 ...
- java文件长度_Java中的音频文件长度
我在解决基于它的字节的mp3文件中的数据时遇到问题. 输出的第一部分是正确的,我有一个长达254秒的mp3文件,我从Github的mp3解析库mp3agic获取它的信息. 但是,关于帧长度和持续时间的 ...
- matlab中取文件名函数,matlab从文件夹名中获取该文件夹下所图像文件名
matlab从文件夹名中获得该文件夹下所图像文件名 function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_F ...
- matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具
matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具 源码可见,解密P ID:22600679158222577美丽小飞侠大队
- word2013插入excel对象报错_excel插入对象文件夹 Excel2013中插入对象文件的方法
excel插入对象文件夹 Excel2013中插入对象文件的方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置excel插入对象 ...
- matlab从文件夹名中获得该文件夹下所图像文件名
function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_FileNameFromFolderPath(path ...
- java 接口 安全加密_Java中的安全加密
java 接口 安全加密 上一次我写关于密码学的文章时 ,我概述了Apache Shiro加密API,并展示了如何使用其两个对称密码. 我还写道:"您不需要在应用程序中加密和解密敏感数据的更 ...
- java aes256 加密_JAVA中使用AES256加密
前言:java默认支持128位加密规范,如果想支持256位加密规范,就需要使用无限制JCE策略文件,而现在Android端AES256的加密填充方式一般是PKCS7Padding,JAVA支持PKCS ...
最新文章
- 送给2020年高考的考生
- javascript 基础篇2 数据类型,语句,函数
- go微服务框架go-micro深度学习(一) 整体架构介绍
- Linux下配置jupyter notebook远程访问实战:配置Jupyter的连接密码、启动jupyter服务、远程访问jupyter(关闭防火墙)
- oracle订单,银科软件:Oracle ERP订单管理模块详细介绍
- Spring5参考指南:Bean作用域
- 深入浅出根据函数调用过程谈栈回溯原理
- matlab能用矩阵操作就不要用for循环
- FreeRTOS应用开发笔记之一:FreeRTOS在STM32的移植
- 输入框禁止输入emoji标签
- 阶梯英语培训学校致家长书
- Java经典设计模式:五大创建型模式
- Unity4.0的新的角色动画系统——MecAnim动画系统
- python类的本质和跨文件全局变量(秒杀单例模式)
- linux177端口怎么打开,AIX5.3,如何使用xmanager管理?177端口打不开的相关推荐_ChinaUnix论坛...
- 三次bezier曲线 MATLAB,Matlab 画二次及三次Bezier曲线,8控制点的B样条曲线
- 微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计
- 激活mircrosoft office2013
- 计算机二级请假条,单位员工病假请假条范文模板
- Dubbo 使用 kryo 序列化