import java.io.*; import java.security.*; import javax.crypto.*; import sun.misc.BASE64Encoder;
public class DES { public static byte[] aa; public static void main(String[] args) throws Exception { if (args.length < 3) { System.out.println("Usage: java PwdDES -e|-d passwd input"); return; } Key key; KeyGenerator generator = KeyGenerator.getInstance("DES"); generator.init(new SecureRandom(args[1].getBytes())); key = generator.generateKey();
Cipher cipher = Cipher.getInstance("DES");
if (args[0].indexOf("e") != -1) cipher.init(Cipher.ENCRYPT_MODE, key); else cipher.init(Cipher.DECRYPT_MODE, key);
System.out.println(new String(args[2].getBytes())); System.out.println(crypt(args[2].getBytes(),cipher)); cipher.init(Cipher.DECRYPT_MODE, key); System.out.println(crypt(aa,cipher)); } private static String crypt(byte[] bt,Cipher cipher)throws IOException,GeneralSecurityException{ BASE64Encoder be = new BASE64Encoder(); byte[] outBytes = new byte[1024]; int inLength = 0; inLength = bt.length; if(inLength > 0) outBytes = cipher.doFinal(bt,0,inLength); else outBytes = cipher.doFinal(); aa = outBytes; return new String(outBytes); } }
|