java 文件加密 用的是md5值进行文件加密

本文介绍如何使用MD5值进行Java文件加密。通过代码注释详细阐述加密解密的背景、原理和具体操作步骤。
摘要由CSDN通过智能技术生成

加密解密的背景, 原理和用法在代码注释里

代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.swing.JFileChooser;

/**
 * (1)jdk版本:1.40以上 
 * (2)加密背景:文件加密 加密方法:三重des加密
 * (3)加密解密原理:
 * 	  加密时,对输入的48位秘钥,前两位,中间两位和后44位,分别求md5值,
 *  先用第一个md5值加密,再用第二个md5值加密,最后用第三个md5值加密,,共三重加密,
 *  解密时,对输入的byte数组即加密后的文件, 先用第三个md5值解密,再用第二个md5值解密,再用第一个md5值解密,这样返回的就是解密后的文件
 *  md5值的获取用 java.security 包里的类
 *  加密解密用的是 javax.crypto 包里面的类
 * (4)加密解密过程用法:
 * 在console 输入秘钥  AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746
 * 再输入需要加密的文件名  def.txt(文件路径是相对路径是相对这个的路径  D:\***\EclipseWorkingspace\WorkspaceLearning\jsp_api)
 * 再输入en,即可实现加密
 * 在以上路径下出现加密文件   en_def.txt, 
 * 解密过程方法:输入秘钥  AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746
 * 再输入需要解密的文件名  en_def.txt
 * 再输入de,即可实现解密
 * 
 * 
 */
public class fileencrypter {

	/**
	 * 加密函数 输入: 要加密的文件,密码(由0-F组成,共48个字符,表示3个16位的密码)如:
	 * AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746 其中:
	 * AD67EA2F3BE6E5AD  DES密码一      D368DFE03120B5DF DES密码二 92A8FD8FEC2F0746 DES密码三 
	 * 输出:对输入的文件加密后,保存到同一文件夹下增加了 "en+原文件名" 为扩展名的文件中。
	 * 
	 * param:
	 * sKey 是三个md5值的字符串拼接, 一共48位
	 */
	private void encrypt(File fileIn, String sKey) {
		try {
			if (sKey.length() == 48) {
				byte[] bytK1 =
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值