studio example android database android-sqlite sqlcipher

android - studio - sqlcipher example



¿Cómo empezar a utilizar SQLCipher para Android? (2)

Para usar correctamente el Cifrado SQL para Android, debe usar bibliotecas externas y cambiar parte del código que interactúa con su base de datos.

  1. Primero se deben agregar a su proyecto (dentro de la carpeta libs). Consulte aquí para obtener estos: http://sqlcipher.net/sqlcipher-for-android/

  2. En segundo lugar, debe agregar el archivo icudt4dl.zip a su carpeta de activos, este Zip viene con las bibliotecas de cifrado SQL.

  3. Haga clic con el botón derecho en su proyecto, vaya a propiedades, luego a la ruta de compilación de Java e incluya bibliotecas como commons-codec.jar, guava-r09.jar, sqlcipher.jar. Una vez hecho esto, hacer una construcción limpia.

  4. Luego, dentro de su aplicación, en lugar de importar android.database.sqlite, importará import net.sqlcipher.database

  5. Cambie cualquier código que interactúe con el DB, ejemplo:

    SQLiteDatabase.loadLibs (contexto);

    String dbPath = this.getDatabasePath ("dbname.db"). GetPath ();

    SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase (dbPath, "dbPassword", null);

  6. Verifique que la base de datos esté encriptada, vaya a la perspectiva DDMS en Eclipse, haga clic en la pestaña del explorador de archivos, navegue a datos / datos, haga clic en el archivo .db y seleccione obtener el archivo del dispositivo, guárdelo en su escritorio y ábralo con un texto editor. Busque los valores de texto sin formato que ha estado insertando en su base de datos, si aún puede leerlos, algo salió mal.

También podría ser una buena idea revisar algunos tutoriales de SQLite antes de implementar el cifrado de SQL. Aquí se menciona una buena: la base de datos sqlite de Android, ¿por dónde empiezo ya que el tutorial se ha ido para el bloc de notas?

Actualizar

Esta respuesta ya no está actualizada y Eclipse está prácticamente en desuso para el desarrollo de Android. Hace poco tuve que crear una aplicación utilizando SQLCipher en Android Studio para Android 5 + 6 y estos son los pasos que seguí.

En Android Studio, puede incluir SQLCipher como una dependencia en su archivo de compilación. Actualice sus dependencias en build gradle para incluir la siguiente línea:

dependencies{ compile ''net.zetetic:android-database-sqlcipher:3.5.4@aar'' }

Puede mantenerse al día con las versiones aquí: https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher

Mi aplicación no se compilaba a menos que eliminara los archivos SQLCipher en la carpeta lib y la carpeta de activos, pero después de eso funcionó como se esperaba. Una vez que haya realizado estos cambios, ejecute una compilación / limpieza y verifique si funciona.

Los mismos pasos mencionados anteriormente con el cambio de su código siguen en pie.

Necesito usar SQLCipher para Android ... ya hice mi aplicación usando SQLite y solo quiero convertirla a SQLCipher.

El problema es que no sé nada acerca de SQLCipher.

He leído sobre esto en este enlace: http://sqlcipher.net/sqlcipher-for-android/

Pero no estoy muy claro, todavía. Me preguntaba si podría proporcionar algunos sqlcipher básicos para los tutoriales de Android, donde todo se enseña de una manera sencilla desde los conceptos básicos absolutos.

¡Gracias!


Si bien todavía puedes seguir el tutorial de Eclipse de Zetetic y agregar bibliotecas .so, no es necesario que lo hagas en Android Studio. Solo agregue una dependencia de Gradle, como compile net.zetetic:android-database-sqlcipher:3.3.1-2@aar y ya está listo para compile net.zetetic:android-database-sqlcipher:3.3.1-2@aar .

Here siempre puede consultar la última versión de aar y here puede leer más sobre la integración.