¿Cómo cifrar el archivo de la tarjeta SD utilizando AES en Android?

Quiero encriptar la imagen de la tarjeta SD y almacenarla nuevamente en la tarjeta SD usando AES. La idea principal es que la aplicación explore una imagen, luego la cifre cuando presiono un botón, luego la guardo en la tarjeta SD. Así que mi imagen estaría segura.

Ya he logrado hacer el cifrado de cadenas utilizando AES de este tutorialhttp://www.androidsnippets.com/encryptdecrypt-strings, pero no tengo idea de cómo hacer esto con una imagen, no una cadena.

Así es como lo hago con una cuerda:

public static String encrypt(String seed, String cleartext) throws Exception  
{
    byte[] rawKey = getRawKey(seed.getBytes());
    byte[] result = encrypt(rawKey, cleartext.getBytes()); 
    return toHex(result);
}

private static byte[] encrypt(byte[] raw, byte[] clear) throws Exception 
{
    SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
    Cipher cipher = Cipher.getInstance("AES");
    cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
    byte[] encrypted = cipher.doFinal(clear);
    return encrypted;
}

¿Alguien puede ayudarme a dar código de ejemplo cómo cifraruna imagen con AES?

tal vez deba usar el flujo de archivos de E / S, pero no tengo idea de cómo implementar este código.

Respuestas a la pregunta(1)

Su respuesta a la pregunta