Como criptografar arquivos do cartão SD usando o AES no Android?
Eu quero criptografar a imagem do cartão SD e armazená-lo novamente no cartão SD novamente usando o AES. A idéia principal é que o aplicativo procure uma imagem, criptografe-a quando eu apertar um botão e, em seguida, armazene-a no cartão SD. então minha imagem estaria segura.
Eu já consegui fazer a criptografia de string usando o AES deste tutorialhttp://www.androidsnippets.com/encryptdecrypt-strings, mas eu não tenho idéia de como fazer isso com uma imagem, não uma string.
É assim que eu faço com uma string:
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;
}
Alguém pode me ajudar a dar um exemplo codificar como criptografaruma imagem com o AES?
talvez seja necessário usar o fluxo de arquivos de E / S, mas não tenho uma ideia de como implementar com esse código.