我想在项目中使用objectbox,我想从dbflow迁移到objectBox,dbflow支持加密,objectBox是否支持加密?
答案 0 :(得分:0)
ObjectBox当前依赖于Android安全功能,其中包括沙箱和加密存储(取决于Android版本)。
这是greenrobot针对此问题的最后状态
答案 1 :(得分:0)
没有内置的加密支持。
有一个功能要求来支持它。我们欢迎您的建议。 https://github.com/objectbox/objectbox-java/issues/8
答案 2 :(得分:0)
因此,代替了ObjectBox不提供任何官方数据库加密支持的方法,我们使用了属性转换器来进行字段加密。
我们已经在字符串字段上实现了AES-256加密。
到目前为止,性能测试显示以下内容:
签出这个方便的AES库:https://github.com/scottyab/AESCrypt-Android
属性转换器类的示例
class EncryptionConverter : PropertyConverter<String, String> {
override fun convertToDatabaseValue(entityProperty: String): String {
return AESUtil.encrypt("YOUR_SUPER_SECURE_KEY" , entityProperty)
}
override fun convertToEntityProperty(databaseValue: String?): String {
return AESUtil.decrypt("YOUR_SUPER_SECURE_KEY" , databaseValue)
}
}
您在实体类中的字段看起来像这样
@Convert(converter = EncryptionConverter::class, dbType = String::class)
var username : String = ""
还请记住,通过字段加密,您将放弃部分字段查找功能