/* * %classpath%;H:\commons-codec-1.3\commons-codec-1.3.jar */ import javax.crypto.KeyGenerator; import javax.crypto.Cipher; import javax.crypto.SecretKey; import org.apache.commons.codec.binary.Base64; import java.security.MessageDigest; public class Code { public static void main(String[] args) { try { KeyGenerator keygen = KeyGenerator.getInstance("TripleDES"); System.out.println("TripleDES Provider is: " + keygen.getProvider()); System.out.println("Key generator algorithm: " + keygen.getAlgorithm()); SecretKey sk = keygen.generateKey(); System.out.println("Secret key algorithm: " + sk.getAlgorithm()); System.out.println("Secret key format: " + sk.getFormat()); byte[] bytes = sk.getEncoded(); System.out.println(bytes.length); System.out.println(new String(bytes)); byte[] encoded = Base64.encodeBase64(bytes); System.out.println("Encoded length: " + encoded.length); System.out.println(new String(encoded)); Cipher c = Cipher.getInstance("TripleDES"); c.init(Cipher.ENCRYPT_MODE, sk); byte[] before = args[0].getBytes(); System.out.println("Before: " + before.length + " " + new String(before)); byte[] after = c.doFinal(before); System.out.println("After: " + after.length + " " + new String(after)); encoded = Base64.encodeBase64(after); System.out.println("Base64: " + encoded.length + " " + new String(encoded)); c.init(Cipher.DECRYPT_MODE, sk); byte[] decode = c.doFinal(after); System.out.println("Decoded: " + new String(decode)); MessageDigest digest = MessageDigest.getInstance("SHA-1"); digest.update(before); byte[] hash = digest.digest(); System.out.println(hash.length); encoded = Base64.encodeBase64(hash); System.out.println("Base64: " + encoded.length + " " + new String(encoded)); }catch(Exception e) { e.printStackTrace(); } } }