机密信息的检测的制作方法_4

文档序号:9667702阅读:来源:国知局
it_card_count)*1000
[0090]else
[0091 ] (75000.0*math—sqrt((double)in.credit—card—count*16/in.total—string_length))木
[0092]credit—card—rat1;
[0093]out.ssn—score::1f (in.ssn_count = =0)0
[0094]else if(in.non_ssn_count = =0)math_sqrt(in.ssn_count)*1000
[0095]else
[0096]((75000.0*math—sqrt((double)in.ssn—count*9/in.total—string—length))*
[0097]ssn—rat1);
[0098]out.phone_score::1f (in.phone_count = =0)0
[0099]else if(in.non_phone_count = =0)math_sqrt(in.phone_count)^1000
[0100]else
[0101 ] ((750000.0*math—sqrt((double) in.phone—count*10/in.total—string_length))木
[0102]phone—rat1);
[0103]out.zip_score::1f (in.zip_count = =0)0
[0104]else if(in.non_zip_count = =0)math_sqrt(in.zip_count)*1000
[0105]else
[0106]((75000.0*math—sqrt((double)in.zip—count*5/in.total—string—length))*
[0107]zip—rat1);
[0108]out.state—score::1f (in.state—count = =0)0
[0109]else if(in.total_two_char_string_length/2< = in.state_count)math_sqrt(in.state—count)氺1000
[0110]else
[0111 ] ((5000000.0*math—sqrt ((double) in.state—count*2/in.total—string_length))木
[0112]state—rat1);
[0113]end;
[0114]out:: reformat(in)=
[0115]begin
[0116]out.0verall_score::( if ( in.first_and_last_count>0)lOOOelse min(in.name—score,2000)/3) +
[0117](if(in.credit_card_score〉= 1000)lOOOelse min(in.credit_card_score,2000)/3)+
[0118](if(in.ssn—score〉=1000)lOOOelse min(in.ssn—score,2000)/3)+
[0119](if(in.phone—score〉=1000)lOOOelse min(in.phone—score,2000)/3)+
[0120](if(in.address—count>0)1000else0)+
[0121](if(in.state—and—zip—count>0)lOOOelseO) +
[0122](if (in.zip_score> = 1000andin.name_score> = 1000)lOOOelse min(in.zip_score,2000)/3) +
[0123](if(in.state_score> = 1000andin.name—score〉= 1000) lOOOelse min(in.state—score,2000)/3);
[0124]out.username::file_informat1n(in.filename).username;
[0125]out.*::1n.*;
[0126]end;
[0127]/氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺(歹氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺氺/
[0128]其它实施例在后附权利要求的范围内。
【主权项】
1.一种用于检测机密信息的方法,该方法包括: 读取存储的数据; 识别所述存储的数据内的字串,其中每个字串包括连续字节的序列,所述字节全部具有在可能值的预定子集中的值; 应用一个或多个规则的第一集合来基于字串识别一个或多个格式匹配,其中每个格式匹配包括匹配与第一类型的机密信息关联的预定格式的字串之一的至少一部分; 对于所确定的每个格式匹配,利用与所述第一类型的机密信息关联的一个或多个规则的第二集合测试各个格式匹配,以确定所述格式匹配是否是无效格式匹配,在该无效格式匹配中,匹配预定格式的字串之一的部分包括一个或多个对于所述第一类型的机密信息无效的无效值; 确定无效格式匹配的第一计数; 确定不包括对于所述第一类型的机密信息无效的无效值的格式匹配的第二计数,其中通过一个或多个规则的第一集合识别格式匹配,并且通过一个或多个规则的第二集合确定格式匹配是否包括无效值; 至少部分地基于比值计算所述存储的数据的第一得分,该比值是所述无效格式匹配的第一计数和不包括对于所述第一类型的机密信息无效的无效值的所述格式匹配的第二计数的函数;以及 基于所述第一得分检测机密信息。2.如权利要求1所述的方法,其中,所述机密信息是信用卡号码。3.如权利要求2所述的方法,其中,当在所述字串中检测到的具有表示数字的值的字节数目等于在信用卡号码的标准格式中的数字数目时,确定出现格式匹配。4.如权利要求3所述的方法,其中,所述与信用卡号码关联的规则包括有效发行商识别号码的列表的规范。5.如权利要求3所述的方法,其中,所述与信用卡号码关联的规则包括校验和算法的规范。6.如权利要求1所述的方法,其中,所述机密信息是社保号码。7.如权利要求6所述的方法,其中,当在所述字串中检测到的具有表示数字的值的字节数目等于9时,确定出现格式匹配。8.如权利要求7所述的方法,其中,与所述社保号码关联的规则包括对于由社保号码的前五个数字表示的号码的值的有效子集的规范。9.如权利要求1所述的方法,其中,所述机密信息是电话号码。10.如权利要求9所述的方法,其中,当在所述字串中检测到的具有表示数字的值的字节数目等于10、或者在所述字串中检测到的数字数目等于11且第一个数字为“1”时,确定出现格式匹配。11.如权利要求10所述的方法,其中,所述与电话号码关联的规则包括有效区号的列表的规范。12.如权利要求10所述的方法,其中,所述与电话号码关联的规则包括在区号之后的第一个数字必须不是1或0的规范。13.如权利要求1所述的方法,其中,所述机密信息是邮政编码。14.如权利要求13所述的方法,其中,当检测到如下字节序列时确定出现格式匹配:由具有表示数字的值的五个字节组成、或者由具有表示九个数字且在第五个数字与第六个数字之间有连字号的值的十个字节组成。15.如权利要求14所述的方法,其中,与邮政编码关联的规则包括有效的五个数字邮政编码的列表的规范。16.如权利要求1所述的方法,还包括: 对于每个字串,确定该字串是否包括一个或多个匹配姓名的词,其中,词是字串内的连续字节的序列,所述字节全部具有表示字母数字字符的值,并且姓名是来自通常用于指代单个人的这样的序列的列表的字符序列;以及 至少部分地基于在存储的数据中检测到的姓名的计数,计算存储的数据的第二得分。17.如权利要求16所述的方法,其中,所述姓名列表被分成两个子集:姓和名。18.如权利要求17所述的方法,还包括: 对于每个字串,确定该字串是否包括一个或多个全名,其中全名是字符序列,该字符序列如下组成:来自姓列表的姓后面跟着空格符、并且后面跟着来自名列表的名;以及 至少部分地基于检测到的全名的计数,计算存储的数据的第三得分。19.如权利要求16所述的方法,其中,所述列表中的每个姓名与频率计数关联,并且对于出现在存储的数据中的姓名计算平均频率计数,以及至少部分地基于所述平均频率计数计算存储的数据的第二得分。20.如权利要求19所述的方法,其中,如果存储的数据中检测到的姓名数目小于阈值,则忽略所述平均频率计数。21.如权利要求1所述的方法,还包括: 对于每个字串,对由两个字母组成的词的数目进行计数,其中,词是字串内的连续字节的序列,所述字节全部具有表示字母数字字符的值。22.如权利要求21所述的方法,还包括: 对于每个两个字母的词,确定该两个字母的词是否是有效的州缩写;以及 至少部分地基于有效的州缩写的计数以及两个字母的词的计数,计算存储的数据的第二得分。23.如权利要求1所述的方法,还包括: 对于每个字串,确定该字串是否包括一个或多个州/邮编对,其中,州/邮编对是如下组成的字符序列:州缩写后面跟着空格符,所述空格符后面接着跟着邮政编码;以及 至少部分地基于检测到的州/邮编对的计数,计算存储的数据的第二得分。24.如权
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1