He estado leyendo, hojeando, buscando mucho en esto, he cruzado muchas veces el stackoverflow y logré reducir mi problema tanto como pude.Usando en-memoria sqlite android
Lo único que no entiendo es cómo utilizar completamente una base de datos SQLite en memoria.
Aquí está mi situación: tengo una base de datos SQLite encriptada que descifro durante la carga de mi aplicación (esta parte funciona con seguridad). Mi clase que interactúa con la base de datos funciona con seguridad con una base de datos simple. Por lo tanto, para abreviar, todo es perfecto con un DB simple que se carga desde la memoria interna del teléfono, pero no estoy seguro de cómo o dónde almacenar el DB descifrado en la memoria para que se interprete como DB normal.
creo que debería poner null
en lugar de un nombre en super(context, null, null, 3);
y utilizar :memory:
en lugar de un camino en SQLiteDatabase.openDatabase()
, pero todavía no entienden completamente. Dice que no puede encontrar una tabla android_metadata
, pero estoy seguro de que la base de datos está como debería.
Espero haber sido claro en esto :)
Probado [SQLCipher] (http://sqlcipher.net/sqlcipher-for-android/)? – Jens
No he pensado mucho. Un poco no lo encontré cuando estaba investigando por primera vez, así que desarrollé mi propio "cifrado" de 2 pasos. Gracias por el enlace, voy a echar un vistazo. ¿Puede decirme qué tan seguro es SQLCipher y comprime datos? – Grandpa
El cifrado AES de 256 bits está bien, y no es probable que realice una mejor implementación por su cuenta, apostaría. – Jens