public abstract class PersonDatabase extends RoomDatabase{
private static final String LOG_TAG = PersonDatabase.class.getSimpleName();
private static final Object LOCK = new Object();
private static final String DB_NAME="encrypt_db";
private static PersonDatabase instance;
private static final byte[] passphrase = SQLiteDatabase.getBytes("123456".toCharArray()); //private static final char[] testBytes ={'t','e','s','t'}; //private static final byte[] passphrase = SQLiteDatabase.getBytes(testBytes);
public static PersonDatabase getInstance(Context context) {
if (instance == null) {
synchronized (LOCK) {
Log.d(LOG_TAG, "Creating new database instance");
final SupportFactory factory = new SupportFactory(passphrase);
instance = Room.databaseBuilder(context.getApplicationContext(),
PersonDatabase.class, PersonDatabase.DB_NAME)
.openHelperFactory(factory)
.build();
}
}
Log.d(LOG_TAG, "Getting the database instance");
return instance;
}
public abstract PersonDao personDao();
}
i am using sqlchiper for encrypt database but data was not encrypt.