Sample code for 30+ languages & platforms
Java

Duplicate Java AES Results

See more Encryption Examples

Demonstrates how to duplicate Java code for AES encryption.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.Crypt2;

public class ChilkatExample {

    public static void main(String[] args) {
        Crypt2 crypt = new Crypt2();

        crypt.setCryptAlgorithm("aes");
        crypt.setCipherMode("cbc");
        crypt.setKeyLength(256);

        crypt.setEncodedIV("000102030405060708090A0B0C0D0E0F", "hex");
        crypt.setEncodedKey("uX1AytOx2bqKn1G1NiblFM3YrEMnvciC", "ascii");

        crypt.setEncodingMode("hex");

        String encrypted = crypt.encryptStringENC("tmpString");
        System.out.println(encrypted);

        System.out.println(crypt.decryptStringENC(encrypted));

        // The above Chilkat code duplicates the following Java code:

        // import javax.crypto.Cipher;
        // import javax.crypto.spec.IvParameterSpec;
        // import javax.crypto.spec.SecretKeySpec;
        //
        // public class Test {
        //     private static final String KEY = "uX1AytOx2bqKn1G1NiblFM3YrEMnvciC";
        //     private static final String IV = "000102030405060708090A0B0C0D0E0F";
        //
        //     private static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
        //     public static String bytesToHex(byte[] bytes) {
        //         char[] hexChars = new char[bytes.length * 2];
        //         for (int j = 0; j < bytes.length; j++) {
        //             int v = bytes[j] & 0xFF;
        //             hexChars[j * 2] = HEX_ARRAY[v >>> 4];
        //             hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F];
        //         }
        //         return new String(hexChars);
        //     }
        //     public static byte[] hexToBytes(String s) {
        //         int len = s.length();
        //         byte[] data = new byte[len / 2];
        //         for (int i = 0; i < len; i += 2) {
        //             data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
        //                                  + Character.digit(s.charAt(i+1), 16));
        //         }
        //         return data;
        //     }
        //     public static byte[] encrypt(String value) {
        //         try {
        //             System.out.println("---- encrypt ----");
        //             IvParameterSpec iv = new IvParameterSpec(hexToBytes(IV));
        //             SecretKeySpec skeySpec = new SecretKeySpec(KEY.getBytes("ASCII"), "AES");
        //             Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        //             cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
        //             byte[] encrypted = cipher.doFinal(value.getBytes("ASCII"));
        //             String x = bytesToHex(encrypted);
        //             System.out.println(x);
        //             return encrypted;
        //         } catch (Exception ex) {
        //             ex.printStackTrace();
        //             return null;
        //         }
        //     }
        //
        //     public static String decrypt(byte[] encrypted) {
        //         try {
        //             System.out.println("---- decrypt ----");
        //             IvParameterSpec iv = new IvParameterSpec(hexToBytes(IV));
        //             SecretKeySpec skeySpec = new SecretKeySpec(KEY.getBytes("ASCII"), "AES");
        //             Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        //             cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
        //             byte[] original = cipher.doFinal(encrypted);
        //             String x = new String(original);
        //             System.out.println(x);
        //             return x;
        //         } catch (Exception ex) {
        //             ex.printStackTrace();
        //             return null;
        //         }
        //
        //     }
        //
        //     public static void main(String[] args) {
        //         byte[] encrypted = encrypt("tmpString");
        //         decrypt(encrypted);
        //     }
        // }
        //
    }
}