易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA实现DES加密

DES算法为密码体制中的对称密码体制,又被成为美国数据加密标准
,是1972年美国IBM
公司研制的对称密码体制加密算法。其密钥长度为56位,明文按64位进行分组,将分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。
DES加密算法特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。
DES工作的基本原理是,其入口参数有三个:key、data、mode。 key为加密解密使用的密钥
,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64
DES加密算法
位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。
DES(
Data Encryption
Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。虽然56位密钥的DES算法已经风光不在,而
且常有用Des加密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益的,而且目前DES算法得到了广泛的应用,在某些场合,仍然发挥着余
热。
package 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;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class DESUtil {

Key key ;

public DESUtil() {

}

public DESUtil(String str) {
setKey(str); // 生成密匙
}

public Key getKey() {
return key ;
}

public void setKey(Key key) {
this . key = key;
}

/**
* 根据参数生成 KEY
*/
public void setKey(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 Runtim


相关文档:

Java学习方法

 第一个阶段(基础阶段)
1、你要掌握HTML语言,认识常用的HTML一些标签。我推荐大家学习孙鑫老师视频的《HTML语言速成》
2、掌握JAVA基础,也就是J2SE,我推荐大家学习马士兵老师的J2SE视频。当时我学习J2SE主要学习
的张孝祥和孙鑫老师的视频(当时还不知道马士兵老师呢!呵呵)不过我认为孙鑫老师前面几讲还是 ......

java打包jar,以及manifest文件使用说明

http://20921556.javaeye.com/blog/263974
关键字: java jar 
 Java的一种文档格式,JAR文件非常类似ZIP文件,也是一个压缩文件。JAR文件与ZIP文件惟一的区别就是在JAR文件的内容中,它包含了一个meta-inf/manifest.mf文件,这个文件是在生成JAR文件的时候自动创建的。需要注意的是,JAR文件不需要进 ......

Java基础知识

一、Java基础知识
1.Java
有那些基本数据类型,String是不是基本数据类型,他们有何区别。
2.字符串的操作:
 
写一个方法,实现字符串的反转,如:输入abc,输出cba
 
写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。
3.数据类型之间的转换
 
如何将数值型字符转换为数字 ......

Java 泛型的解析


泛型是J2SE 5.0最重要的特性。他们让你写一个type(类或接口)和创建一个实例通过传递一个或多个引用类型。这个实例受限于只能作用于这些类型。
比如,在java 5,java.util.List 已经被泛化。当建立一个list对象时,你通过传递一个java类型建立一个List实例,此list实例只能作用于所传递的类型。这意味着如果你传递一个St ......

JAVA 解析加密ZIP

2010-03-10
最近做项目遇到了一个问题,需要将客户端到处的加密ZIP压缩包直接导入到系统中。在网上查了下关于ZIP解密的问题,发现了winzipaes这个开源项目http://code.google.com/p/winzipaes ,这个项目需要依赖bcprov-jdk14-145.jar这个开源包,两个包联合使用可以解密AES -256算法的加密密码。
因为系统使用的是JDK1.4 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号