Gibt es ein gutes Beispiel für das Ver- und Entschlüsseln von Bildern und anderen Dateien mit AES unter Android?
java
android
encryption
aes
h4rd4r7c0r3
quelle
quelle
Antworten:
Warnung: Diese Antwort enthält Code, den Sie nicht verwenden sollten, da er unsicher ist (Verwendung von SHA1PRNG zur Schlüsselableitung und Verwendung von AES im EZB-Modus).
Verwenden Sie stattdessen (ab 2016) PBKDF2WithHmacSHA1 für die Schlüsselableitung und AES im CBC- oder GCM-Modus (GCM bietet sowohl Datenschutz als auch Integrität).
Sie könnten Funktionen wie diese verwenden:
Und rufe sie so auf:
Das sollte funktionieren, ich verwende gerade ähnlichen Code in einem Projekt.
quelle
Wie von Nacho.L erwähnt, wird die PBKDF2WithHmacSHA1- Ableitung verwendet, da sie sicherer ist.
quelle
quelle
Alte Frage, aber ich aktualisiere die Antworten, die Android vor und nach 4.2 unterstützen, und berücksichtige alle jüngsten Änderungen laut Android-Entwicklerblog
Außerdem hinterlasse ich ein funktionierendes Beispiel für mein Github-Repo .
quelle
android.util.Base64.encode(bytes, Base64.DEFAULT)
und, anstatt die Apache Commons Codec-Bibliothek zu verwendenandroid.util.Base64.decode(decryptedData, Base64.DEFAULT)
?Wenn Sie eine Textdatei verschlüsseln, kann der folgende Test / das folgende Beispiel hilfreich sein. Es macht folgendes:
und zuletzt puffert es
quelle
SecureRandom
für die Schlüsselableitung verwendet wurden. Wenn Sie wissen wollen , wie eine Chiffre instanziiert, überprüfen Ericksons Antwort hier . Verwenden Sie keine statische IV (für denselben Schlüssel) und PBKDF2 für die Kennwort-> Schlüsselkonvertierung. Beachten Sie, dass eine nicht authentifizierte Verschlüsselung nur dann Vertraulichkeit bietet, wenn sie nicht in einem Transportprotokoll verwendet wird. Wenn Sie helfen möchten, können Sie auch die anderen Antworten brennen (und meine Kommentare dort abstimmen) :)AES verschlüsseln / entschlüsseln in Android
AES verschlüsseln / entschlüsseln in c #
quelle
Für AES / CBC / PKCS7 Verschlüsselung / Entschlüsselung, Kopieren Sie einfach und fügen Sie den folgenden Code ein und ersetzen
SecretKey
undIV
mit Ihren eigenen.quelle
Einfache API zur Durchführung der AES-Verschlüsselung unter Android. Dies ist das Android-Gegenstück zur AESCrypt-Bibliothek Ruby und Obj-C (mit denselben Standardeinstellungen):
https://github.com/scottyab/AESCrypt-Android
quelle
Hier ist ein einfaches Code-Snippet, das für die AES-Verschlüsselung und -Entschlüsselung funktioniert.
Hoffe es hat geholfen ...
quelle
So fügen Sie dem Android-Projekt eine Hüpfburg hinzu: https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk16/1.45
Fügen Sie diese Zeile in Ihre Hauptaktivität ein:
quelle
Versuchen Sie es mit dem folgenden Code, es funktioniert für mich.
quelle