import javax.crypto.KeyGenerator; import javax.crypto.CipherInputStream; import javax.crypto.Cipher; import javax.crypto.CipherOutputStream; import java.security.SecureRandom; import java.security.Key; import java.io.*; import java.security.*;
/** * Created by IntelliJ IDEA. * User: 马千里 * Date: 2008-2-19 * Time: 8:52:29 * To change this template use File | Settings | File Templates. */ 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) { 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("C:/Java实现文件的RSA和DES加密算法.doc", "c:/加密后文件1.doc"); //加密 td.decrypt("c:/加密后文件1.doc", "c:/解密后文件1.doc"); //解密 } }
|
相关推荐
java的DES加密解密:用于密码在数据库的加密,解码类
des加密解密java实现des加密解密java实现des加密解密java实现des加密解密java实现des加密解密java实现des加密解密java实现
PHP、Java des加密解密实例_.docx
Java实现des加密解密算法,des加密解密算法
博文链接:https://shikonglaike.iteye.com/blog/126702
用java写的des算法加密及解密过程
des加密解密算法,通过DES加密解密实现一个String字符串的加密和解密.
java des加密解密jar包,实现了utf-8防止乱码,这个是jar包,可以直接使用,需要源码可以找我
java和javascript加密解密,可相互加密解密,内含javascript代码和java代码,解压即用,自定义密钥
java des加密解密里面有详细的应用例子
3DES加密解密java版+js版
java版Des加密解密源码 DES加密解密程序的主程序在 FileDES类中 运行时使用的例子是本目录下的111.doc文件,运行后自动生成222.doc文件和333.doc文件。 其中111.doc文件加密后的文件是222.doc文件,222.doc文件...
带界面的DES加密解密java源码,可以实现加密解密和显示每一步的过程。
vue DES加密解密工具类 des.js,与博文中的匹配,为封装好的完整工具类
java代码-使用java解决DES加密解密的源代码 ——学习参考资料:仅用于个人学习使用!
java DES加密解密源码,详细讲述了DES加密解密算法的实现,从原理出发,适合入门。
Java版标准3DES加密/解密方法,加密函数desedeEncoder(String paramString1, String key) 解密函数desedeDecoder(String dest, String key)
主要介绍了PHP、Java des加密解密实例,des加密是对称加密中在互联网应用的比较多的一种加密方式,本文分别给出了PHP和JAVA版本的实现代码,需要的朋友可以参考下