System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及密文检索领域,具体而言,涉及一种数据查询方法、装置、存储介质及电子设备。
技术介绍
1、相关技术中使用同态加密技术来实现在加密状态下的检索和解密操作,从而确保数据隐私和安全性,同时允许用户检索他们所需的文档。这个技术主要存在两个方面的问题:第一个问题是该技术方案主要面向云端场景,本地场景不需要这么复杂的运算。第二个问题是该技术方案针对的是单一密文结构,比如密钥更新了,数据量巨大的情况下可能存在多种类型的密文同时存在的情况。
2、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本专利技术实施例提供了一种数据查询方法、装置、存储介质及电子设备,以至少解决相关技术中存在加解密策略更新后,必须进行存储的密文数据刷库处理,导致无法支持多类型密文适配的技术问题。
2、根据本专利技术实施例的一个方面,提供了一种数据查询方法,包括:确定用户端在当前时刻之前配置的历史加解密策略,以及所述当前时刻配置的当前加解密策略;获取结构化查询语句;对所述结构化查询语句进行解析,得到待查询数据和查询位置;采用所述历史加解密策略,对所述待查询数据进行加密,得到第一密文;采用所述当前加解密策略,对所述待查询数据进行加密,得到第二密文;基于所述查询位置,在与所述结构化查询语句进行交互的目标数据库中进行查询,得到目标密文;在所述第一密文或所述第二密文中的一个密文与所述目标密文匹配的情况下,确定所述待查询数据的查询结果为与所述目标数据库中的存储数据一致。
3
4、可选地,所述获取结构化查询语句,包括:获取数据库驱动代理的数据库驱动信息,其中,所述数据库驱动代理用于所述用户端访问数据库层,所述数据库层中包括多个数据库,所述多个数据库分别对应不同的方言类型,所述目标数据库属于所述多个数据库;基于所述数据库驱动信息,生成代理连接,其中,所述代理连接使得所述用户端通过中间件访问所述数据库;采用所述代理连接对所述用户端发送的语句进行拦截,得到所述结构化查询语句。
5、可选地,所述代理连接中存储有所述历史加解密策略和所述当前加解密策略,所述采用所述代理连接对所述用户端发送的语句进行拦截,得到所述结构化查询语句,包括:采用所述代理连接对所述用户端发送的语句进行拦截,得到初始语句;基于所述历史加解密策略和所述当前加解密策略分别指示的解密方法,对所述初始语句进行组合加密,得到加密语句;将所述加密语句通过所述代理连接向所述数据库层进行传输,在所述加密语句传输至所述数据库层的情况下,基于所述历史加解密策略和所述当前加解密策略分别指示的解密方法,对所述加密语句进行组合解密,得到所述结构化查询语句。
6、可选地,在所述基于所述查询位置,在与所述结构化查询语句进行交互的目标数据库中进行查询,得到目标密文之前,所述方法还包括:确定所述结构化查询语句对应的目标方言类型,其中,所述目标方言类型为在所述结构化查询语句的语句变种类型;基于所述目标方言类型,在数据库层包括的多个数据库中确定所述目标数据库,其中,所述多个数据库分别对应不同的方言类型。
7、可选地,所述采用所述历史加解密策略,对所述待查询数据进行加密,得到第一密文,包括:采用所述历史加解密策略,对所述待查询数据进行加密,得到第三密文;采用所述目标方言类型,对所述第三密文进行调整,得到所述第一密文;所述采用所述当前加解密策略,对所述待查询数据进行加密,得到第二密文,包括:采用所述当前加解密策略,对所述待查询数据进行加密,得到第四密文;采用所述目标方言类型,对所述第四密文进行调整,得到所述第二密文。
8、可选地,所述目标数据库中允许存在采用所述历史加解密策略进行加密的数据,以及采用所述当前加解密策略进行加密的数据。
9、根据本专利技术实施例的另一方面,提供了一种数据查询装置,包括:加解密策略确定模块,用于确定用户端在当前时刻之前配置的历史加解密策略,以及所述当前时刻配置的当前加解密策略;语句获取模块,用于获取结构化查询语句;语句解析模块,用于对所述结构化查询语句进行解析,得到待查询数据和查询位置;第一密文生成模块,用于采用所述历史加解密策略,对所述待查询数据进行加密,得到第一密文;第二密文生成模块,用于采用所述当前加解密策略,对所述待查询数据进行加密,得到第二密文;存储密文查询模块,用于基于所述查询位置,在与所述结构化查询语句进行交互的目标数据库中进行查询,得到目标密文;密文匹配模块,用于在所述第一密文或所述第二密文中的一个密文与所述目标密文匹配的情况下,确定所述待查询数据的查询结果为与所述目标数据库中的存储数据一致。
10、根据本专利技术实施例的另一方面,提供了一种非易失性存储介质,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行任意一项所述的数据查询方法。
11、根据本专利技术实施例的另一方面,提供了一种电子设备,包括:一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的数据查询方法。
12、在本专利技术实施例中,通过确定用户端在当前时刻之前配置的历史加解密策略,以及所述当前时刻配置的当前加解密策略;获取结构化查询语句;对所述结构化查询语句进行解析,得到待查询数据和查询位置;采用所述历史加解密策略,对所述待查询数据进行加密,得到第一密文;采用所述当前加解密策略,对所述待查询数据进行加密,得到第二密文;基于所述查询位置,在与所述结构化查询语句进行交互的目标数据库中进行查询,得到目标密文;在所述第一密文或所述第二密文中的一个密文与所述目标密文匹配的情况下,确定所述待查询数据的查询结果为与所述目标数据库中的存储数据一致。达到了兼容多种加解密策略的密文检索的目的,实现了无需进行业务方代码改造,平滑度过密文格式刷新的技术效果,进而解决了相关技术中存在加解密策略更新后,必须进行存储的密文数据刷库处理,导致无法支持多类型密文适配的技术问题。
本文档来自技高网...【技术保护点】
1.一种数据查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述结构化查询语句进行解析,得到待查询数据和查询位置,包括:
3.根据权利要求1所述的方法,其特征在于,所述获取结构化查询语句,包括:
4.根据权利要求3所述的方法,其特征在于,所述代理连接中存储有所述历史加解密策略和所述当前加解密策略,所述采用所述代理连接对所述用户端发送的语句进行拦截,得到所述结构化查询语句,包括:
5.根据权利要求1所述的方法,其特征在于,在所述基于所述查询位置,在与所述结构化查询语句进行交互的目标数据库中进行查询,得到目标密文之前,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述目标数据库中允许存在采用所述历史加解密策略进行加密的数据,以及采用所述当前加解密策略进行加密的数据。
8.一种数据查询装置,其特征在于,包括:
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质存储有多条指令,所述指令
10.一种电子设备,其特征在于,包括:一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的数据查询方法。
...【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述结构化查询语句进行解析,得到待查询数据和查询位置,包括:
3.根据权利要求1所述的方法,其特征在于,所述获取结构化查询语句,包括:
4.根据权利要求3所述的方法,其特征在于,所述代理连接中存储有所述历史加解密策略和所述当前加解密策略,所述采用所述代理连接对所述用户端发送的语句进行拦截,得到所述结构化查询语句,包括:
5.根据权利要求1所述的方法,其特征在于,在所述基于所述查询位置,在与所述结构化查询语句进行交互的目标数据库中进行查询,得到目标密文之前,所述方法还包括:
6.根据权利要求5所述...
【专利技术属性】
技术研发人员:宫冠鹏,刘剑群,吴朝亮,刘奇,雷加伟,邢佳佳,赵毅,王学文,许佳行,
申请(专利权)人:天翼电子商务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。