How to add security in Room database ?Any Example for that?

Viewed 56

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.

0 Answers
Related