2011-05-18 24 views
37

Estoy buscando muy difícil la posibilidad de encriptar mi base de datos sqlite en dispositivos Android, pero no pude encontrar una solución satisfactoria.cifrado sqlite para Android

Necesito algo así como una biblioteca para hacer referencia, con el fin de tener un cifrado/descifrado "sobre la marcha" de mi base de datos, mientras uso las funciones sqlite normales.

No quiero cifrar datos antes de almacenarlos.

No quiero cifrar todo el archivo de base de datos, para descifrarlo antes de usarlo.

lo que sé de los siguientes proyectos:

B No puedo encontrar ningún ejemplo de trabajo para esto.

Btw, estoy absolutamente dispuesto a comprar una versión comercial, pero tengo que probar antes de gastar unos cientos de dólares.

¿Alguien resolvió este problema por su cuenta?

edición: cuestión se resuelve por commonsWare, si sigue su Enlace: SQLCypher port to Android usted será capaz de descargar los archivos NECESARIO y tienen que añadirlos a su proyecto. Esto podría verse así: enter image description here

+0

No hay ninguna buena razón para cifrar la base de datos. Si alguien quiere acceder a él, siempre puede aplicar ingeniería inversa a su aplicación para recuperar la clave. – ThiefMaster

+13

no, no si fuerzo al usuario, escriba la contraseña al iniciar la aplicación – 2red13

Respuesta

41

Pruebe el SQLCipher port to Android en lugar del SQLCipher normal.

+0

Genial, si esto funciona esperaré al aceptar su respuesta para otorgarle una recompensa ^^ – 2red13

+0

funciona perfectamente, ¡muchas gracias! – 2red13

+0

bounty startet y se le pagará mañana ^^ – 2red13

0

litereplica admite encryption usando el cifrador ChaCha, más rápido que AES en dispositivos portátiles.

Hay bindings para Android.

Para crear y abrir una base de datos cifrada utilizamos un URI de la siguiente manera:

"file:/path/to/file.db?cipher=...&key=..."