数据结构算法:java 实现 DES 加密算法
java 实现 DES 加密算法
为了实现一对密钥对整个项目所有加密解密文件都适用的方法,考试,大提示采用先
生成一对密钥.保存到 xml 文件中,以后获得私匙和公钥只需要从 xml 文件中取得就可以了.
/**
* 把成生的一对密钥保存到 DesKey.xml 文件中
*/
public static void saveDesKey(){
try {
SecureRandom sr = new SecureRandom();
//为我们选择的 DES 算法生成一个 KeyGenerator 对象
KeyGenerator kg = KeyGenerator.getInstance (\"DES\" );
kg.init (sr);
FileOutputStream fos = new FileOutputStream(\"C:/DesKey.xml\");
ObjectOutputStream oos = new ObjectOutputStream(fos);
//生成密钥
Key key = kg.generateKey();
oos.writeObject(key);
oos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
获取密钥方法如下:
/**
* 获得 DES 加密的密钥。在交易处理的过程中应该定时更
* 换密钥。需要 JCE 的支持,如果 jdk 版本低于 1.4,则需要
* 安装 jce-1_2_2 才能正常使用。
* @return Key 返回对称密钥
*/
public static Key getKey() {
Key kp = null;
try {
String fileName = \"conf/DesKey.xml\";
InputStream is = DesUtil.class.getClassLoader()
.getResourceAsStream(fileName);
ObjectInputStream oos = new ObjectInputStream(is);
kp = (Key) oos.readObject();
oos.close();
} catch (Exception e) {
e.printStackTrace();
}
return kp;
}