美文网首页
使用SQLCipher对Room的数据库进行加密

使用SQLCipher对Room的数据库进行加密

作者: 咸鱼Jay | 来源:发表于2018-07-16 14:53 被阅读42次

    最近公司的项目要用到SQLCipher对数据库进行加密,但是SQLCipher并不是直接支持Room的数据库进行加密,所以没法直接实现。
    最后经过我一番查询,发现github有一个开源库(swac-saferoom),可以对room的数据库进行加密。
    使用很简单,只需要加一句openHelperFactory就可以了:

        private static AppDatabase buildDatabase(final Context appContext) {
            return Room.databaseBuilder(appContext, AppDatabase.class, DATABASE_NAME)
                    .openHelperFactory(new SafeHelperFactory("123456".toCharArray()))
                    .addCallback(new Callback() {
                        @Override
                        public void onCreate(@NonNull SupportSQLiteDatabase db) {
                            super.onCreate(db);
                            Log.e("AppDatabase","buildDatabase-onCreate");
                        }
                    })
                    .allowMainThreadQueries()
                    .build();
        }
    

    项目地址

    相关文章

      网友评论

          本文标题:使用SQLCipher对Room的数据库进行加密

          本文链接:https://www.haomeiwen.com/subject/zrkbpftx.html