Как зашифровать файл с SD-карты с помощью AES в Android?

Я хочу зашифровать изображение с SD-карты и снова сохранить его на SD-карте, используя АЕС. Основная идея заключается в том, что приложение просматривает изображение, затем шифрует его, когда я нажимаю кнопку, а затем сохраняет его на SD-карте. так что мой образ будет в безопасности.

Мне уже удалось выполнить шифрование строк с помощью AES из этого руководства http://www.androidsnippets.com/encryptdecrypt-strings, но я понятия не имею, как это сделать с изображением, а не с нить.

Вот как я это делаю со строкой:

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;
}

Может ли кто-нибудь помочь мне привести пример кода, как зашифровать изображениес помощью AES?

возможно, он должен использовать файловый поток ввода-вывода, но я понятия не имею, как это реализовать с помощью этого кода.

35
задан Artjom B. 14 June 2016 в 17:15
поделиться