Android AES Decrypt decryptBase64Text(String key, String src)

Here you can find the source of decryptBase64Text(String key, String src)

Description

decrypt Base Text

Declaration

public static String decryptBase64Text(String key, String src)
            throws Exception 

Method Source Code

//package com.java2s;
import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import android.util.Base64;

public class Main {
    public static String decryptBase64Text(String key, String src)
            throws Exception {
        byte[] enc = Base64.decode(src, Base64.DEFAULT);
        return decryptBytes(key, enc);
    }/*w w w.ja v  a 2  s . com*/

    public static String decryptBytes(String key, byte[] src)
            throws Exception {
        byte[] rawKey = getRawKey(key);
        return new String(decrypt(rawKey, src));
    }

    private static byte[] getRawKey(String key) throws Exception {
        KeyGenerator kgen = KeyGenerator.getInstance("AES");
        SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
        sr.setSeed(key.getBytes());
        kgen.init(256, sr);
        SecretKey skey = kgen.generateKey();
        return skey.getEncoded();
    }

    private static byte[] decrypt(byte[] key, byte[] src) throws Exception {
        SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
        cipher.init(Cipher.DECRYPT_MODE, skeySpec);
        return cipher.doFinal(src);
    }
}

Related

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