Android AES Decrypt decryptBase64(String content, String key)

Here you can find the source of decryptBase64(String content, String key)

Description

decrypt Base

Declaration

public static String decryptBase64(String content, String key) 

Method Source Code

//package com.java2s;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;

public class Main {
    private static final String UTF_8 = "UTF-8";
    private static final byte[] defaultIV = { 127, 24, 123, 23, 93, 7, 15,
            0, 9, 4, 8, 15, 16, 23, 42, 1 };

    public static String decryptBase64(String content, String key) {
        try {/*from  w ww. j  a v a 2s. c  o m*/
            byte[] contentBytes = Base64.decodeBase64(content
                    .getBytes(UTF_8));
            byte[] result = decrypt(contentBytes, key);
            return new String(result, UTF_8);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static byte[] decrypt(byte[] content, String key) {
        try {
            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
            IvParameterSpec ivs = new IvParameterSpec(defaultIV);
            cipher.init(Cipher.DECRYPT_MODE, getSecretKey(key), ivs);

            return cipher.doFinal(content);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    private static SecretKeySpec getSecretKey(String key) {
        MessageDigest digest;
        try {
            digest = MessageDigest.getInstance("md5");
            SecretKeySpec keySpec = new SecretKeySpec(digest.digest(key
                    .getBytes(UTF_8)), "AES");
            return keySpec;
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return null;
    }
}

Related

  1. decrypt(byte[] raw, byte[] encrypted)
  2. decrypt(byte[] raw, byte[] encrypted)
  3. decrypt(byte[] raw, byte[] encrypted)
  4. decrypt(byte[] raw, byte[] encrypted)
  5. decrypt(byte[] textBytes, String key)
  6. decryptBase64(String encryptBase64)
  7. decryptBase64Text(String key, String src)
  8. decryptBytes(String key, byte[] src)
  9. decryptBytes(String seed, byte[] encrypted)