java怎么给文件加密_如何利用JAVA对文档进行加密和解密处理,完整的java类

哦,好的

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

import java.security.KeyPair;

import java.security.KeyPairGenerator;

import java.security.NoSuchAlgorithmException;

import java.security.interfaces.RSAPrivateKey;

import java.security.interfaces.RSAPublicKey;

import javax.crypto.Cipher;

public class RSAEncrypt {

static KeyPairGenerator keyPairGen;

static KeyPair keyPair;

static RSAPrivateKey privateKey;

static RSAPublicKey publicKey;

static{

try {

//实例类型

keyPairGen = KeyPairGenerator.getInstance("RSA");

//初始化长度

keyPairGen.initialize(512);

//生成KeyPair

keyPair = keyPairGen.generateKeyPair();

// Generate keys

privateKey = (RSAPrivateKey) keyPair.getPrivate();

publicKey = (RSAPublicKey) keyPair.getPublic();

} catch (NoSuchAlgorithmException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

* 加密文件

* @param encrypt RSAEncrypt对象

* @param file 源文件

* @param newFile 目标文件

*/

public void encryptFile(RSAEncrypt encrypt, File file, File newFile) ;

/**

* 解密文件

* @param encrypt RSAEncrypt对象

* @param file 源文件

* @param newFile 目标文件

*/

public void decryptFile(RSAEncrypt encrypt, File file, File newFile) ;

/**

* 加密实现

*

* @return byte[] 加密后的字节数组

*/

protected byte[] encrypt(RSAPublicKey publicKey, byte[] obj) ;

/**

* 解密实现

*

* @return byte[] 解密后的字节数组

*/

protected byte[] decrypt(RSAPrivateKey privateKey, byte[] obj)

我测试了下,.doc .txt均可以加密

因为加密解密均是根据那四个属性来的,所以你需要写个每次运行先读取属性,你可以写入文件

若文件不存在则新生成一组,当加密完成后把四个属性写入文件。

我以上写的只是测试,加解密未分开的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值