一种面向数据库加密字段模糊检索的密文索引方法与流程

文档序号:12719975阅读:来源:国知局

技术特征:

1.一种面向数据库加密字段模糊检索的密文索引方法,其特征在于:

首先对待加密的字段C,增加模糊检索索引字段IC;

然后对C所在的表T的每个记录,生成字段C的索引字段IC的内容:

(一)、记待索引字段内容为字符串P,索引建立过程具体步骤如下:

(1)在P的首尾添加标记符,标记出数据的开始和结束,记添加标记后的字符串为P1;

(2)以长度为K对P1进行子串拆分,得到K-GRAM集合M1,M1包含P1的长度为K的所有子串;

(3)对集合M1中的重复串进行合并,得到子串集合M2;

(4)对M2中的每个子串计算哈希值,并进行排序,得到哈希值集合H1;

(5)对H1中的所有哈希值按顺序拼接,得到一个新的字符串IDX,此IDX即为P的索引值;

(6)返回索引值IDX;

(二)、记进行模糊检索的查询条件为S,该字符串可能包含任意关键字以及通配符,记被检索的当前记录的加密字段的内容为C,C的密文索引值为IDX1,匹配过程具体步骤如下:

(1)在S的首尾添加标记符,标记出数据的开始和结束,记添加标记后的字符串为S1;

(2)以长度为K对S1进行子串拆分,得到K-GRAM集合M1,M1包含S1的长度为K的所有子串,拆分时遇到通配符则跳过重新开始拆分;

(3)对集合M1中的重复串进行合并,得到子串集合M2;

(4)对M2中的每个子串计算哈希值,得到哈希值集合H1;

(5)对H1中的所有哈希值进行排序并按顺序拼接得到一个新的字符串S1;

(6)将S1与待匹配的字符串C的索引值IDX1进行匹配,如果匹配成功,则转到(7),如果匹配失败,则说明C不满足模糊匹配条件S,返回失败;

(7)将C解密,得到明文C1,在C1上使用查询条件S进行精确匹配,并返回匹配结果。

2.根据权利要求1所述的一种面向数据库加密字段模糊检索的密文索引方法,其特征在于:

所述步骤(二)、(5)对H1中的所有哈希值进行排序并按顺序拼接,拼接时在各哈希值之间添加通配符“%”;

所述步骤(二)、(6)对将S1与待匹配的字符串C的索引值IDX1进行匹配为使用数据库的LIKE操作符将S1与IDX1进行匹配。

3.根据权利要求1所述的一种面向数据库加密字段模糊检索的密文索引方法,其特征在于:

所述步骤(二)、(6)将S1与待匹配的字符串C的索引值IDX1进行匹配的过程如下:

(1)计算S1的子串个数M=S1的长度/L,L为所述每个K-GRAM元素的哈希值的长度;

(2)设置匹配次数n=0;

(3)设置IDX1的当前子串为第一个子串,设置S1的当前子串为第一个子串;

(4)如果IDX1和S1的当前子串相等,n加1,IDX1和S1都将当前子串设置为后一个字串;

否则,如果IDX1的当前子串大于S1的当前子串,则S1的当前子串置为下一个子串;反之,则IDX1的当前子串置为下一个子串;

(5)重复(4),直到IDX1或者S1结束;

(6)如果n等于M,即发生了M次匹配,则返回匹配成功,否则返回匹配失败。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1