买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】加密敏感字段支持模糊查询的方法_中国航空综合技术研究所_202211678891.7 

申请/专利权人:中国航空综合技术研究所

申请日:2022-12-26

公开(公告)日:2023-05-30

公开(公告)号:CN116186108A

主分类号:G06F16/2458

分类号:G06F16/2458;G06F16/2455;G06F21/60

优先权:

专利状态码:在审-实质审查的生效

法律状态:2023.06.16#实质审查的生效;2023.05.30#公开

摘要:本发明提供一种加密敏感字段支持模糊查询的方法,其包括以下步骤:S1,建立数据库;S2,数据库数据存储,包括:录入数据库数据;得到需要处理的当前记录的字段内容;根据字段是否需要加密采用不同方式保存;对需要加密的字段采用分组加密算法生成加密索引,加密索引根据字段内容长度采用不同的索引生成方式;保存加密索引到密文索引字段;S3,加密数据查询,包括:确定查询关键字和生成加密索引查询字符串并查询。本发明的分组算法根据字符串的不同长度,采用不同方式生成加密索引,实现了高效的左匹配,且只有在查询关键字的字符串长度大于分组长度且不是分组长度的整数倍时才需要对结果集进行内存匹配,极大提高了匹配效率。

主权项:1.一种加密敏感字段支持模糊查询的方法,其特征在于:其包括以下步骤:S1,建立数据库,设定加密算法和密文分组单元长度;建立数据库,数据库中字段分为三类,具体为:普通字段、密文字段以及与密文字段相对应的密文索引字段,并将密文索引字段设置为数据库的索引;设置加密方法和密文分组单元长度cellLength;S2,数据库数据存储;S21,获取需要录入到数据库中的数据;S22,得到需要处理的当前记录的字段field的字段内容fieldkey;S23,判断当前字段是否需要加密存储,需要加密则根据加密算法对fieldkey进行加密,生成密文数据存储在des_info中,将des_info存储到当前字段中,然后执行步骤S24;不需要加密存储,则直接将数据fieldkey存储到相应字段,并返回步骤S22;S24,采用分组加密算法生成加密索引;根据输入数据fieldKey的字符串长度与cellLength值的关系,分情况生成加密索引,具体为:1fieldKey长度不大于cellLength时,对fieldKey中的每一个字符分别进行加密,并将加密结果按原字符顺序进行拼接,得到加密索引串des_index;2fieldKey为cellLength的整数倍n时,n为大于1的整数,将fieldKey分为firstCell与lastStr,其中firstCell为前cellLength个字符,lastStr为剩余字符;对firstCell逐个字符加密拼接得到pre_des_index;将lastStr平均分成n-1组,逐组加密拼接得到last_des_index;得到加密索引des_index=pre_des_index+last_des_index;3fieldKey大于n*cellLength并且小于n+1*cellLength时,n为大于1的整数,将fieldKey分为三部分firstCell,lastStr和tailStr;其中firstCell为前cellLength个字符,lastStr为cellLength+1到n*cellLength的字符;tailStr为剩余的字符串;对firstCell逐个字符加密拼接得到pre_des_index;对lastStr平均分成n-1组,逐组加密拼接得到last_des_index;对tailStr字符串长度不足cellLength的直接舍弃;得到加密索引des_index=pre_des_index+last_des_index;S25,将加密索引des_index保存到当前密文字段相应的密文索引字段,返回步骤S22,直到所有数据处理结束;S3,加密数据查询;S31,确定查询关键字query_key;S32,生成加密索引查询字符串desQueryKey并返回查询结果,具体为:根据当前查询关键字query_key的字符串长度与cellLength值的关系,分情况生成加密索引查询字符串desQueryKey并查询,具体为:1query_key长度不大于cellLength时,对query_key中的每一个字符分别进行加密,并将加密结果按原字符顺序进行拼接,得到加密索引查询字符串desQueryKey;使用加密索引查询字符串desQueryKey通过数据库模糊匹配,准确过滤出结果集,然后将查询的结果解密后响应给用户;2query_key长度为cellLength的整数倍n时,n为大于1的整数,将query_key分为firstCell与lastStr,其中firstCell为前cellLength个字符,lastStr为剩余字符;对firstCell逐个字符加密拼接得到pre_index;将lastStr平均分成n-1组,逐组加密拼接得到last_index;得到加密索引查询字符串desQueryKey=pre_index+last_index;使用加密索引查询字符串desQueryKey通过数据库模糊匹配,准确过滤出结果集,然后将查询的结果解密后响应给用户;3query_key大于n*cellLength并且小于n+1*cellLength时,n为大于1的整数,将query_key分为三部分firstCell,lastStr和tailStr;其中firstCell为前cellLength个字符,lastStr为cellLength+1到n*cellLength的字符;tailStr为剩余的字符串;对firstCell逐个字符加密拼接得到pre_index;对lastStr平均分成n-1组,逐组加密拼接得到last_index;对tailStr字符串长度不足cellLength的则不进行任何处理;得到加密索引查询字符串desQueryKey=pre_index+last_index;使用加密索引查询字符串desQueryKey通过数据库模糊匹配,得到过滤出的结果集,将过滤出来的结果集中的密文在内存中进行解密后,循环匹配查询关键字query_key,将匹配成功的数据返回给用户。

全文数据:

权利要求:

百度查询: 中国航空综合技术研究所 加密敏感字段支持模糊查询的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。