一种数据查询方法、系统及电子设备和存储介质技术方案

技术编号:22330082 阅读:38 留言:0更新日期:2019-10-19 12:16
本申请公开了一种数据查询方法、系统及设备和介质,该方法包括:获取查询请求中的查询字符串;将查询字符串切割为单个字符,并利用预设加密算法分别对切割后的单个字符进行加密,得到密文字符串;利用密文字符串在预设数据库中进行模糊查询,匹配得到对应的目标字符串;预设数据库预先保存所有加密后数据,加密后数据为将所有明文数据切割为单个字符后利用预设加密算法对单个字符进行加密得到的数据;对目标字符串进行解密,得到查询请求对应的解密后数据。由上可知,本申请利用密文字符串在数据库中进行模糊查询,匹配出对应的密文,无需将所有密文数据解析后才能进行模糊查询,由此避免了解密与查询请求无关的数据,有效地提高了数据查询效率。

【技术实现步骤摘要】
一种数据查询方法、系统及电子设备和存储介质
本申请涉及数据库
,更具体地说,涉及一种数据查询方法、系统及一种电子设备和一种计算机可读存储介质。
技术介绍
随着计算机科学技术的发展,数据库中存储着大批量的重要业务数据,例如:姓名、手机号码、身份证号等用户隐私信息。为了保护数据库中隐私数据的安全,不被攻击者利用系统的漏洞或非法获取访问权限窃取和篡改隐私数据,需要对这些重要的业务数据进行加密,将密文存储在数据库中,从而有效地保护隐私数据的安全性。然而,在对存储密文数据的数据库进行模糊查询时,传统的解决方案是将数据库中的密文数据解密得到明文,在明文上模糊查询,再将数据重新加密成密文,重新存储在数据库中。这种方式下,在查询大批量数据时,解密的明文中将存在大量的不相关数据,导致查询响应时间较长,且降低了数据库的性能。因此,如何解决上述问题是本领域技术人员需要重点关注的。
技术实现思路
本申请的目的在于提供一种数据查询方法、系统及一种电子设备和一种计算机可读存储介质,有效地提高了数据查询效率。为实现上述目的,本申请提供了一种数据查询方法,包括:获取查询请求中的查询字符串;将所述查询字符串切割为单个字符,并利用预设加密算法分别对切割后的单个字符进行加密,得到密文字符串;利用所述密文字符串在预设数据库中进行模糊查询,匹配得到对应的目标字符串;其中,所述预设数据库预先保存所有加密后数据,所述加密后数据为将所有明文数据切割为单个字符后利用所述预设加密算法对单个字符进行加密得到的数据;对所述目标字符串进行解密,得到所述查询请求对应的解密后数据。可选的,所述获取查询请求中的查询字符串之后,还包括:获取所述查询请求携带的标识信息;利用所述标识信息获取对应的密钥。可选的,所述将所述查询字符串切割为单个字符,并利用预设加密算法分别对切割后的单个字符进行加密,得到密文字符串,包括:利用分词算法将所述查询字符串切割为单个字符;基于预设映射表获取单个字符对应的预设数值;利用希尔密码算法和所述密钥确定所述预设数值对应的加密数值;基于所述预设映射表确定每个所述加密数值对应的字符,编码得到密文字符串。可选的,所述基于预设映射表获取单个字符对应的预设数值,包括:将所述单个字符转换为对应的Unicode码;基于所述预设映射表确定所述Unicode码对应的预设数值,得到当前单个字符对应的预设数值。可选的,所述对所述目标字符串进行解密,得到所述查询请求对应的解密后数据,包括:利用扩展欧几里得算法确定所述密钥对应的乘法逆元;利用所述希尔密码算法和所述乘法逆元确定所述加密数值对应的预设数值;基于所述预设映射表获取所述预设数值对应的字符,编码得到所述查询请求对应的解密后数据。可选的,所述获取所述查询请求携带的标识信息,利用所述标识信息获取对应的密钥,包括:调用远程密钥管理平台获取所述查询请求携带的标识信息,并获取所述标识信息对应的密钥。可选的,所述获取所述标识信息对应的密钥,包括:获取所述标识信息对应的密钥令牌,以及密钥字符串;所述密钥字符串为预先利用所述密钥令牌对密钥进行二次加密后存储至所述远程密钥管理平台的字符串;利用所述密钥令牌对所述密钥字符串进行解密,得到对应的密钥。为实现上述目的,本申请提供了一种数据查询系统,包括:查询获取模块,用于获取查询请求中的查询字符串;字符加密模块,用于将所述查询字符串切割为单个字符,并利用预设加密算法分别对切割后的单个字符进行加密,得到密文字符串;目标匹配模块,用于利用所述密文字符串在预设数据库中进行模糊查询,匹配得到对应的目标字符串;其中,所述预设数据库预先保存所有加密后数据,所述加密后数据为将所有明文数据切割为单个字符后利用所述预设加密算法对单个字符进行加密得到的数据;字符解密模块,用于对所述目标字符串进行解密,得到所述查询请求对应的解密后数据。为实现上述目的,本申请提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现前述公开的任一种数据查询方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种数据查询方法的步骤。通过以上方案可知,本申请提供的一种数据查询方法,包括:获取查询请求中的查询字符串;将所述查询字符串切割为单个字符,并利用预设加密算法分别对切割后的单个字符进行加密,得到密文字符串;利用所述密文字符串在预设数据库中进行模糊查询,匹配得到对应的目标字符串;其中,所述预设数据库预先保存所有加密后数据,所述加密后数据为将所有明文数据切割为单个字符后利用所述预设加密算法对单个字符进行加密得到的数据;对所述目标字符串进行解密,得到所述查询请求对应的解密后数据。由上可知,本申请预先将所有明文数据切割为单个字符后,利用预设加密算法对单个字符进行加密并保存至数据库中,在获取到查询请求后,将其中的查询字符串切割并加密,得到加密后用于查询的密文字符串,进而利用密文字符串在数据库中进行模糊查询,匹配出对应的密文,无需将所有密文数据解析后才能进行模糊查询,由此避免了解密与查询请求无关的数据,有效地提高了数据查询效率。本申请还公开了一种数据查询系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种数据查询方法的流程图;图2为本申请实施例公开的另一种数据查询方法的流程图;图3为本申请实施例公开的一种具体的数据查询方法的示意图;图4为本申请实施例公开的一种数据查询系统的结构图;图5为本申请实施例公开的一种电子设备的结构图;图6为本申请实施例公开的另一种电子设备的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在现有技术中,在对存储密文数据的数据库进行模糊查询时,传统的解决方案是将数据库中的密文数据解密得到明文,在明文上模糊查询,再将数据重新加密成密文,重新存储在数据库中。这种方式下,在查询大批量数据时,解密的明文中将存在大量的不相关数据,导致查询响应时间较长,且降低了数据库的性能。因此,本申请实施例公开了一种数据查询方法,有效地提高了数据查询效率。参见图1所示,本申请实施例公开的一种数据查询方法包括:S11:获取查询请求中的查询字符串;本步骤中,获取用户发起的用于查询数据的查询请求,并确定其中的查询字符串。S12:将所述查询字符串切割为单个字符,并利用预设加密算法分别对切割后的单个字符进行加密,得到密文字符串;具体地,本实施例利用预设的分词算法将查询字符串切割为单个字符,如单个字母或单本文档来自技高网...

【技术保护点】
1.一种数据查询方法,其特征在于,包括:获取查询请求中的查询字符串;将所述查询字符串切割为单个字符,并利用预设加密算法分别对切割后的单个字符进行加密,得到密文字符串;利用所述密文字符串在预设数据库中进行模糊查询,匹配得到对应的目标字符串;其中,所述预设数据库预先保存所有加密后数据,所述加密后数据为将所有明文数据切割为单个字符后利用所述预设加密算法对单个字符进行加密得到的数据;对所述目标字符串进行解密,得到所述查询请求对应的解密后数据。

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:获取查询请求中的查询字符串;将所述查询字符串切割为单个字符,并利用预设加密算法分别对切割后的单个字符进行加密,得到密文字符串;利用所述密文字符串在预设数据库中进行模糊查询,匹配得到对应的目标字符串;其中,所述预设数据库预先保存所有加密后数据,所述加密后数据为将所有明文数据切割为单个字符后利用所述预设加密算法对单个字符进行加密得到的数据;对所述目标字符串进行解密,得到所述查询请求对应的解密后数据。2.根据权利要求1所述的数据查询方法,其特征在于,所述获取查询请求中的查询字符串之后,还包括:获取所述查询请求携带的标识信息;利用所述标识信息获取对应的密钥。3.根据权利要求2所述的数据查询方法,其特征在于,所述将所述查询字符串切割为单个字符,并利用预设加密算法分别对切割后的单个字符进行加密,得到密文字符串,包括:利用分词算法将所述查询字符串切割为单个字符;基于预设映射表获取单个字符对应的预设数值;利用希尔密码算法和所述密钥确定所述预设数值对应的加密数值;基于所述预设映射表确定每个所述加密数值对应的字符,编码得到密文字符串。4.根据权利要求3所述的数据查询方法,其特征在于,所述基于预设映射表获取单个字符对应的预设数值,包括:将所述单个字符转换为对应的Unicode码;基于所述预设映射表确定所述Unicode码对应的预设数值,得到当前单个字符对应的预设数值。5.根据权利要求3所述的数据查询方法,其特征在于,所述对所述目标字符串进行解密,得到所述查询请求对应的解密后数据,包括:利用扩展欧几里得算法确定所述密钥对应的乘法逆元;利用所述希尔密码算法和所述乘法逆元确定所述加密数...

【专利技术属性】
技术研发人员:苏辉吴迪邱剑锋
申请(专利权)人:税友软件集团股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1