109 votes

Cryptage/décryptage d'images à l'aide de chiffrement par blocs symétriques AES256

Existe-t-il un bon exemple de la façon dont crypter et décrypter image et autres fichiers avec AES sur Android ?

7 votes

Le chiffrement sur Android n'est pas fondamentalement différent de celui de toute autre plate-forme Java SE. Et comme toutes les réponses ci-dessous ne sont pas sécurisées, il faut soit comprendre la cryptographie avant de commencer à l'implémenter, soit emprunter des exemples de cryptographie.

4 votes

Vous devriez essayer ceci github.com/facebook/conceal .

0voto

Rhn Bhadani Points 1900

Essayez avec le code ci-dessous, cela fonctionne pour moi.

public static String decrypt(String encrypted) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException, UnsupportedEncodingException {
    byte[] key = your Key in byte array;
    byte[] input = salt in byte array;

    SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");
    IvParameterSpec ivSpec = new IvParameterSpec(input);
    Cipher ecipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
    ecipher.init(Cipher.DECRYPT_MODE, skeySpec, ivSpec);

    byte[] raw = Base64.decode(encrypted, Base64.DEFAULT);
    byte[] originalBytes = ecipher.doFinal(raw);

    String original = new String(originalBytes, "UTF8");
    return original;
}

1 votes

Le crypto-code ne doit pas seulement fonctionner, il doit être sécurisé. Pouvez-vous indiquer quel type de sécurité votre code fournit (ou, dans ce cas, ne fournit pas) ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X