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