HarmonyOS 鸿蒙Next 关系型数据库加密后模糊搜索

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 关系型数据库加密后模糊搜索

使用encrypt加密数据库之后,如何对数据库内的数据进行模糊搜索?const STORE_CONFIG: relationalStore.StoreConfig = { name: ‘RdbTest.db’, securityLevel: relationalStore.SecurityLevel.S1, encrypt: true };,比如一个用户表const entity: ValuesBucket = { “name”: “value1”, “age”: “value2”, “sex”: “value3” };我现在要对user这个字段进行模糊查询,如何实现?我是直接传入明文 value1去数据库中查,还是传密文?


更多关于HarmonyOS 鸿蒙Next 关系型数据库加密后模糊搜索的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
可以使用getRdbStore方法用加密方式去打开已加密的数据库,再通过like等sql语句进行模糊查询

参考文档

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-relationalstore-V5#relationalstoregetrdbstore

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-relationalstore-V5#rdbpredicates

开启数据库加密后,可直接传入明文进行查询

更多关于HarmonyOS 鸿蒙Next 关系型数据库加密后模糊搜索的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next的关系型数据库在加密后实现模糊搜索,通常依赖于特定的加密算法与索引机制。由于加密会改变原始数据的格式和内容,直接对加密数据进行模糊搜索在技术上具有挑战性。

一种可行的方法是使用支持模糊搜索的加密索引技术,如同态加密(Homomorphic Encryption)或基于关键词的加密搜索(Searchable Encryption)。这些技术允许在不解密数据的情况下,对加密数据进行特定类型的查询,包括模糊搜索。

然而,这些高级加密技术往往伴随着更高的计算复杂度和性能开销,需要权衡数据安全与查询性能之间的关系。

在HarmonyOS鸿蒙Next的数据库系统中,可能已内置或支持某些加密索引技术,以便在加密环境中进行高效搜索。开发者应查阅相关文档,了解数据库系统是否支持此类功能,并遵循文档指导进行配置和使用。

如果当前数据库系统未提供直接支持,可能需要考虑在应用层实现额外的逻辑,如先对关键字段进行加密前预处理(如提取关键词),再对预处理后的数据进行加密存储,并在搜索时先对查询条件进行相同的预处理,再与加密数据进行比对。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部