package org.markerking; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.security.Key; import javax.crypto.KeyGenerator; /** */ /** * DESede密匙生成器与读取器 * * @author MarkerKing * @version v1.0 * @time 2007-3-23 15:00 * */ public abstract class DESedeKey implements Key ... { /** *//** * 密匙写入文件 * */ public static void generatorKey(String fileName) ...{ try ...{ // 获得密匙生成器 KeyGenerator kg = KeyGenerator.getInstance("DESede"); // 初始化长度 kg.init(168); // 生成Key Key key = kg.generateKey(); FileOutputStream fos = new FileOutputStream(fileName); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(key); oos.close(); fos.close(); System.out.println("密匙生成成功!密匙文件为"+fileName); } catch (Exception e) ...{ e.printStackTrace(); } } /** *//** * 获取密匙方法,已经生成的dat密匙文件 * * @return Key * */ public static Key getKey(String fileName) ...{ try ...{ // 读取文件中的字节密匙 FileInputStream fis = new FileInputStream(fileName); ObjectInputStream ois = new ObjectInputStream(fis); // 转换成密匙 Key key = (Key) ois.readObject(); ois.close(); fis.close(); return key; } catch (Exception e) ...{ e.printStackTrace(); return null; } }}