¿Existe un buen ejemplo de cómo cifrar y descifrar imágenes y otros archivos con AES en Android?
java
android
encryption
aes
h4rd4r7c0r3
fuente
fuente
Respuestas:
Advertencia: esta respuesta contiene código que no debe usar ya que es inseguro (usa SHA1PRNG para la derivación de claves y usa AES en modo ECB)
En su lugar (a partir de 2016), use PBKDF2WithHmacSHA1 para la derivación de claves y AES en modo CBC o GCM (GCM proporciona privacidad e integridad)
Podrías usar funciones como estas:
E invocarlos así:
Esto debería funcionar, uso un código similar en un proyecto en este momento.
fuente
Como mencionó Nacho.L PBKDF2WithHmacSHA1 se usa la derivación ya que es más segura.
fuente
fuente
Pregunta anterior, pero actualizo las respuestas que admiten Android antes y publico 4.2 y considerando todos los cambios recientes según el blog de desarrolladores de Android
Además, dejo un ejemplo de trabajo en mi repositorio de github .
fuente
android.util.Base64.encode(bytes, Base64.DEFAULT)
yandroid.util.Base64.decode(decryptedData, Base64.DEFAULT)
?Si está encriptando un archivo de texto, entonces la siguiente prueba / muestra puede ser útil. Hace lo siguiente:
y finalmente lo amortigua
fuente
SecureRandom
para la derivación de claves. Si desea saber cómo crear una instancia de un cifrado, consulte la respuesta de ericksons aquí . No use un IV estático (para la misma clave) y use PBKDF2 para la contraseña -> conversión de clave. Tenga en cuenta que un cifrado no autenticado solo proporciona confidencialidad y solo si no se utiliza en un protocolo de transporte. Si quieres ayudar, también puedes grabar las otras respuestas (y votar mis comentarios allí) :)AES cifrar / descifrar en android
AES cifrar / descifrar en c #
fuente
Para AES / CBC / PKCS7 cifrado / descifrado, simplemente copia y pega el siguiente código y reemplazar
SecretKey
yIV
con su propio.fuente
API simple para realizar cifrado AES en Android. Esta es la contraparte de Android de la biblioteca AESCrypt Ruby y Obj-C (con los mismos valores predeterminados):
https://github.com/scottyab/AESCrypt-Android
fuente
Aquí hay un fragmento de código simple que funciona para el cifrado y descifrado AES.
Espero que haya ayudado ...
fuente
Para agregar un castillo hinchable al proyecto de Android: https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk16/1.45
Agregue esta línea en su actividad principal:
fuente
Pruebe con el siguiente código, me está funcionando.
fuente