objectBox 是否支持数据加密?
does objectBox support data encryption?
我想在我的项目中使用objectbox,我想从dbflow迁移到objectBox,dbflow支持加密,objectBox支持加密吗?
ObjectBox 当前依赖 Android 安全功能,包括沙盒和加密存储(取决于 Android 版本)。应在
中跟踪其他工作
这是 greenrobot 对这个问题的最后状态
没有内置的加密支持。
有一个支持它的功能请求。我们欢迎您的建议。
https://github.com/objectbox/objectbox-java/issues/8
因此,为了代替 objectBox 的官方数据库加密支持,我们已经使用 属性 转换器进行了字段加密。
我们对字符串字段实施了 AES-256 加密。
到目前为止,性能测试显示如下:
- 无加密,1000 个对象(13 个字段/对象)写入 ~ 2740ms
- 已加密,1000 个对象(13 个字段,6 个已加密)写入 ~ 6434 毫秒
- 无加密,读取 1000 个对象(13 个字段/对象)~ 58 毫秒
- 加密,1000 个对象(13 个字段,6 个加密)写入 ~ 70 毫秒
检查这个方便的 AES 库:https://github.com/scottyab/AESCrypt-Android
属性 转换器的示例 class
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)
}
}
您在实体 class 中的字段看起来像这样
@Convert(converter = EncryptionConverter::class, dbType = String::class)
var username : String = ""
另请记住,通过字段加密,您将放弃部分字段查找功能
我想在我的项目中使用objectbox,我想从dbflow迁移到objectBox,dbflow支持加密,objectBox支持加密吗?
ObjectBox 当前依赖 Android 安全功能,包括沙盒和加密存储(取决于 Android 版本)。应在
中跟踪其他工作这是 greenrobot 对这个问题的最后状态
没有内置的加密支持。
有一个支持它的功能请求。我们欢迎您的建议。 https://github.com/objectbox/objectbox-java/issues/8
因此,为了代替 objectBox 的官方数据库加密支持,我们已经使用 属性 转换器进行了字段加密。
我们对字符串字段实施了 AES-256 加密。
到目前为止,性能测试显示如下:
- 无加密,1000 个对象(13 个字段/对象)写入 ~ 2740ms
- 已加密,1000 个对象(13 个字段,6 个已加密)写入 ~ 6434 毫秒
- 无加密,读取 1000 个对象(13 个字段/对象)~ 58 毫秒
- 加密,1000 个对象(13 个字段,6 个加密)写入 ~ 70 毫秒
检查这个方便的 AES 库:https://github.com/scottyab/AESCrypt-Android
属性 转换器的示例 class
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)
}
}
您在实体 class 中的字段看起来像这样
@Convert(converter = EncryptionConverter::class, dbType = String::class)
var username : String = ""
另请记住,通过字段加密,您将放弃部分字段查找功能