System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及信息安全,具体而言,涉及一种数据加密方法、解密方法及加密数据搜索方法。
技术介绍
1、随着互联网的快速发展,数据的传输和存储越来越频繁,数据的安全性和隐私性也越来越受到重视。为了保护数据不被非法窃取或篡改,通常需要对数据进行加密处理。但是,在加密以后,数据会失去原本的特征,无法直接进行匹配搜索,对于数据的使用很不方便。
2、目前,大多数方案是在检索数据的时候,将已加密的数据进行解码以后再进行匹配搜索。如此一来,不仅使用起来非常没有效率,而且还存在安全隐患,失去了数据加密的意义。基于此,有必要研究一种支持搜索的数据加密方法,以提高加密数据的可检索性和搜索效率,同时提高加密数据在搜索过程中的安全性。
技术实现思路
1、为提高加密数据的可检索性和搜索效率,同时提高加密数据的加密强度,本说明书实施例的一个方面提供一种数据加密方法,该方法包括:
2、获取待加密数据,并对所述待加密数据进行分词处理,得到分词序列;
3、为所述分词序列中的每一个分词依次分配一个顺序编号,得到编号序列;
4、基于每一个所述分词的类型,将所述分词序列分为检索词序列和非检索词序列,并将所述编号序列分为检索词编号序列和非检索词编号序列,其中,所述检索词编号序列包含所述检索词对应的编号,所述非检索词编号序列包含所述非检索词对应的编号;
5、根据所述检索词编号序列和所述非检索词编号序列分别确定检索码和非检索码;
6、对所述检索码和所述非检索码分
7、将所述分词序列中的每个分词转换为ascii码或区位码,得到每一个所述分词对应的分词编码;
8、通过预设加密算法对所述分词编码进行加密,得到分词密文;
9、对所述检索码片段、非检索码片段和所述分词密文进行随机合并,并在不同数据单元之间使用分隔符进行分割,得到所述待加密数据对应的密文数据。
10、在一些实施例中,所述方法还包括:
11、对所述检索词中满足预设条件的目标分词进行二次拆分;
12、将二次拆分所得到的子分词对应的顺序编号设置为0,并更新所述检索词编号序列。
13、在一些实施例中,所述根据所述检索词编号序列和所述非检索词编号序列分别确定检索码和非检索码,包括:
14、将所述检索词编号序列中的编号顺序随机打乱并合并,然后在合并后的编号序列前加上第一顺序码宽度,得到所述检索码;
15、将所述非检索词编号序列中的编号按顺序合并,然后在合并后的编号序列前加上第二顺序码宽度,得到所述非检索码;其中,
16、所述第一顺序码宽度根据所述检索词编号序列中的编号的最大值确定,所述第二顺序码宽度根据所述非检索词编号序列中的编号的最大值确定。
17、在一些实施例中,所述对所述检索码和所述非检索码分别进行拆分和/或标识符插入,得到检索码片段和非检索码片段,包括:
18、将所述检索码随机拆分为至少两组数字,并使所述至少两组数字之和等于所述检索码,然后在每组数字前加上第一标识符,得到所述检索码片段;
19、将所述非检索码随机拆分为至少一组数字,并使所述至少一组数字之和等于所述非检索码,然后在每组数字前加上第二标识符,得到所述非检索码片段。
20、在一些实施例中,所述将所述分词序列中的每个分词转换为ascii码或区位码,包括:
21、将所述分词序列中的英文和数字转换为ascii码,将所述分词序列中的中文字符转换为区位码。
22、在一些实施例中,所述方法还包括:将所述分词密文按照所述检索词编号序列随机打乱后的顺序进行重新排列;
23、所述对所述检索码片段、非检索码片段和所述分词密文进行随机合并,包括:将所述检索码片段和所述非检索码片段随机插入重新排列后的相邻两个所述分词密文之间。
24、本说明书实施例的另一个方面还提供一种数据解密方法,该方法可以用于对基于以上任一项所述的方法所得到密文数据进行解密,所述解密方法包括:
25、获取待解密的密文数据;
26、基于分隔符对所述密文数据进行分割,并基于标识符从分割得到的数据单元中识别出检索码片段、非检索码片段和分词密文;
27、基于所述检索码片段和所述非检索码片段分别确定检索词编号序列和非检索词编号序列;
28、通过预设解密算法对所述分词密文进行解密,得到对应的分词译文;
29、基于所述检索词编号序列和所述非检索词编号序列中的顺序编号对所述分词译文进行顺序还原,得到所述密文数据对应的原始数据。
30、在一些实施例中,所述基于所述检索码片段和所述非检索码片段分别确定检索词编号序列和非检索词编号序列,包括:
31、将所述检索码片段中除去第一标识符的部分相加,并将相加得到的数据中的第一顺序码宽度去除,得到所述检索词编号序列;
32、将所述非检索码片段中除去第二标识符的部分相加,并将相加得到的数据中的第二顺序码宽度去除,得到所述非检索词编号序列。
33、本说明书实施例的另一个方面还提供一种加密数据搜索方法,该方法可以用于对基于以上任一项所述的方法所得到密文数据进行搜索,所述搜索方法包括:
34、获取搜索内容,并对所述搜索内容进行分词处理,得到搜索词序列;
35、将所述搜索词序列中的每个搜索词转换为ascii码或区位码,得到搜索词编码序列;
36、通过与所述预设加密算法相同或兼容的加密算法对所述搜索词编码序列进行加密,得到搜索词密文序列;
37、在不同搜索词密文之间加上分隔符,得到搜索词密文串;
38、将所述搜索词密文串与所述密文数据进行比较,并筛选出匹配成功的密文数据,得到所述搜索内容对应的搜索结果。
39、在一些实施例中,所述方法还包括:
40、根据所述搜索词密文串与所述密文数据的匹配度为每一条匹配结果进行打分,得到每一条匹配结果对应的第一得分;
41、根据所述第一得分与所述密文数据的长度的比值,计算每一条匹配结果对应的命中率;
42、基于所述第一得分和所述命中率得到每一条匹配结果对应的综合得分,并按照所述综合得分的高低对所述搜索结果进行排序和展示。
43、本说明书实施例所提供的数据加密方法、解密方法及加密数据搜索方法可能带来的有益效果至少包括:
44、(1)在本说明书一些实施例所提供的数据加密方法中,通过根据分词类型进行针对性的加密处理,可以使加密后的数据携带有关键词对应的特征,从而提高加密数据的可检索性和搜索效率,并且,通过该方法进行数据加密之后,无需在搜索加密数据前对数据进行解密,从而可以保证加密数据在数据搜索过程中的安全性;
45、(2)在本说明书一些实施例所提供的数据加密方法中,通过对分词进行本文档来自技高网...
【技术保护点】
1.一种数据加密方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
3.如权利要求1或2所述的方法,其特征在于,所述根据所述检索词编号序列和所述非检索词编号序列分别确定检索码和非检索码,包括:
4.如权利要求3所述的方法,其特征在于,所述对所述检索码和所述非检索码分别进行拆分和/或标识符插入,得到检索码片段和非检索码片段,包括:
5.如权利要求4所述的方法,其特征在于,所述将所述分词序列中的每个分词转换为ASCII码或区位码,包括:
6.如权利要求5所述的方法,其特征在于,所述方法还包括:将所述分词密文按照所述检索词编号序列随机打乱后的顺序进行重新排列;
7.一种数据解密方法,其特征在于,用于对基于权利要求1~6中任一项所述的方法所得到密文数据进行解密,所述解密方法包括:
8.如权利要求7所述的方法,其特征在于,所述基于所述检索码片段和所述非检索码片段分别确定检索词编号序列和非检索词编号序列,包括:
9.一种加密数据搜索方法,其特征在于,用于对基于权利要
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
...【技术特征摘要】
1.一种数据加密方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
3.如权利要求1或2所述的方法,其特征在于,所述根据所述检索词编号序列和所述非检索词编号序列分别确定检索码和非检索码,包括:
4.如权利要求3所述的方法,其特征在于,所述对所述检索码和所述非检索码分别进行拆分和/或标识符插入,得到检索码片段和非检索码片段,包括:
5.如权利要求4所述的方法,其特征在于,所述将所述分词序列中的每个分词转换为ascii码或区位码,包括:
6.如权利要求5所述的方法,其特征在于...
【专利技术属性】
技术研发人员:汪轶,马欣,
申请(专利权)人:成都奇恩生物科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。