Android™
Android™
Duplicate Java AES Results
See more Encryption Examples
Demonstrates how to duplicate Java code for AES encryption.Chilkat Android™ Downloads
// 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."
}
}