Mega Code Archive

 
Categories / Java Tutorial / Security
 

Rich DES Key

import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.security.SecureRandom; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; public class MainClass {   public static void main(String args[]) throws Exception {     KeyGenerator keyGen = KeyGenerator.getInstance("DES");     SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");     random.setSeed(101L);     keyGen.init(56, random);     SecretKey sKey = keyGen.generateKey();     SecretKeyFactory kfactory = SecretKeyFactory.getInstance("DES");     DESKeySpec kspec = (DESKeySpec) kfactory.getKeySpec(sKey, DESKeySpec.class);     System.out.println(sKey);     FileOutputStream fos = new FileOutputStream("secretKeys");     ObjectOutputStream oos = new ObjectOutputStream(fos);     oos.writeObject(kspec.getKey());     FileInputStream fin = new FileInputStream("secretKeys");     ObjectInputStream ois = new ObjectInputStream(fin);     byte[] kMaterial = (byte[]) ois.readObject();     DESKeySpec keyspec = new DESKeySpec(kMaterial);     SecretKey newKey = kfactory.generateSecret(keyspec);     System.out.println(newKey);     System.out.println("Do the keys equal :" + newKey.equals(sKey));   } }