Sample code for 30+ languages & platforms
Android™

Duplicate Java AES Results

See more Encryption Examples

Demonstrates how to duplicate Java code for AES encryption.

Chilkat Android™ Downloads

Android™
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    CkCrypt2 crypt = new CkCrypt2();

    crypt.put_CryptAlgorithm("aes");
    crypt.put_CipherMode("cbc");
    crypt.put_KeyLength(256);

    crypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex");
    crypt.SetEncodedKey("uX1AytOx2bqKn1G1NiblFM3YrEMnvciC","ascii");

    crypt.put_EncodingMode("hex");

    String encrypted = crypt.encryptStringENC("tmpString");
    Log.i(TAG, encrypted);

    Log.i(TAG, 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);
    // 	}
    // }
    // 

  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}