Existe-t-il un bon exemple de la façon de crypter et de décrypter des images et d'autres fichiers avec AES sur Android?
java
android
encryption
aes
h4rd4r7c0r3
la source
la source
Réponses:
Avertissement: cette réponse contient du code à ne pas utiliser car il n'est pas sécurisé (en utilisant SHA1PRNG pour la dérivation de clé et en utilisant AES en mode ECB)
À la place (à partir de 2016), utilisez PBKDF2WithHmacSHA1 pour la dérivation de clé et AES en mode CBC ou GCM (GCM fournit à la fois la confidentialité et l'intégrité)
Vous pouvez utiliser des fonctions comme celles-ci:
Et invoquez-les comme ceci:
Cela devrait fonctionner, j'utilise un code similaire dans un projet en ce moment.
la source
Comme mentionné par Nacho.L PBKDF2WithHmacSHA1, la dérivation est utilisée car elle est plus sécurisée.
la source
la source
Ancienne question mais je mets à jour les réponses prenant en charge Android avant et après 4.2 et en tenant compte de tous les changements récents selon le blog des développeurs Android
De plus, je laisse un exemple de travail sur mon repo github .
la source
android.util.Base64.encode(bytes, Base64.DEFAULT)
etandroid.util.Base64.decode(decryptedData, Base64.DEFAULT)
?Si vous cryptez un fichier texte, le test / exemple suivant peut être utile. Il fait ce qui suit:
et enfin le tamponne
la source
SecureRandom
pour la dérivation de clé. Si vous voulez savoir comment instancier un chiffrement, consultez la réponse d'ericksons ici . N'utilisez pas un IV statique (pour la même clé) et utilisez PBKDF2 pour la conversion de mot de passe -> clé. Notez qu'un chiffrement non authentifié n'assure que la confidentialité, et uniquement s'il n'est pas utilisé dans un protocole de transport. Si vous voulez aider, vous pouvez graver les autres réponses aussi (et voter pour mes commentaires) :)AES crypter / décrypter sous Android
AES crypter / décrypter en c #
la source
Pour le chiffrement / déchiffrement AES / CBC / PKCS7, copiez et collez simplement le code suivant et remplacez
SecretKey
-leIV
par le vôtre.la source
API simple pour effectuer le cryptage AES sur Android. C'est l'équivalent Android de la bibliothèque AESCrypt Ruby et Obj-C (avec les mêmes valeurs par défaut):
https://github.com/scottyab/AESCrypt-Android
la source
Voici un simple extrait de code fonctionnant pour le chiffrement et le déchiffrement AES.
J'espère que cela a aidé ...
la source
Pour ajouter un château gonflable au projet Android: https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk16/1.45
Ajoutez cette ligne dans votre activité principale:
la source
Essayez avec le code ci-dessous, cela fonctionne pour moi.
la source