Android SQLCipher and DB from resource folder

At the moment, my sqlite db file is NOT encrypted and copied from the assets folder to the application folder data/data/mypackage/databases .

Now I want to add the SQLCipher libraries to my project and start using them. Can I encrypt a db file and copy it to assets and use the same key inside the application? Can I encrypt a database in Windows? What should I do?

+4
source share
1 answer

I think we should do it

 SQLiteDatabase normalDB = null; SQLiteDatabase cryptedDB = null; normalDB = SQLiteDatabase.openDatabase(dbPath, "", null, SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS); cryptedDB = SQLiteDatabase.openOrCreateDatabase( encrypteddbPath, Constants.CRYPT_KEY, null); Cursor cursor; cursor = normalDB.query(TABLE_CITY, new String[] { FIELD_CITY_CODE, FIELD_NAME1, FIELD_NAME2, FIELD_NAME3 }, null, null, null, null, null); int i = cursor.getCount(); while (i > 0) { ContentValues newLabelValues = new ContentValues(); newLabelValues.put(FIELD_CITY_CODE, cursor.getString(0)); newLabelValues.put(FIELD_NAME1, cursor.getString(1)); newLabelValues.put(FIELD_NAME2, cursor.getString(2)); newLabelValues.put(FIELD_NAME3, cursor.getString(3)); cryptedDB.insert(TABLE_CITY, null, newLabelValues); cursor.moveToNext(); } 
-1
source

All Articles