技术领域
本发明涉及数据处理领域,尤其涉及一种保留统计级特征属性的身份证号脱敏方法。
背景技术
随着互联网的发展,信息传递越来越方便。数据信息已经开始慢慢成为一个企业的核心竞争力,已经成为了一种新型的战略资源。未来,数据信息将是企业的核心资产,对企业的重要性不言而喻。数据即价值,这已是公认的产业趋势。正因为数据蕴含着巨大的商业价值,关于数据盗窃的案件越来越多,犯罪手法多种多样。所以加强敏感信息的保护也就变得越来越重要,尤其是一些关于个人隐私的敏感信息,如:姓名,身份证号,手机号,银行卡号等。
现阶段对于敏感信息的主要保护手段是对敏感信息进行脱敏处理。数据的脱敏,又叫数据漂白或数据去隐私化,指我们对某些敏感信息通过一定的脱敏规则和脱敏手段,对敏感数据进行覆盖隐藏或变形等方法,实现对敏感数据的替换,从而起到保护敏感数据的作用。
身份证号可以说是一种很重要的敏感信息,因为里面包含了用户很多隐私信息,所以关于身份证号的脱敏方法也有很多。现有技术中,对于身份证号进行脱敏时,常用的手段是覆盖和替换。
覆盖即将身份证号的某一段数字或全部数字用特殊符号覆盖,以达到保护信息的效果。替换又分为随机替换和固定替换,固定替换即将身份证号中的地址编号和出生日期用一个固定的地址编号和日期替换,这样所有的身份证号的地址编号和出生日期都是相同的,这样也可以达到保护信息的效果。随机替换即将身份证号中的地址编号和出生日期进行随机的替换,改变身份证号信息以达到保护信息的效果。但是这些脱敏方法在对身份证号进行脱敏后,身份证号也就失去了它本身的特征,同时也意味着数据失去了分析价值。
但是在某些场景下,我们需要对身份证号信息进行统计分析,但是我们又不能把真实的身份证号信息给客户分析,这样很容易造成信息泄露。但是对身份证号脱敏后,数据又会失去分析价值。
比如固定替换后,所有身份证号基本相同,随机替换后有可能出生日期是未来某一天或者几百年前的一天,这就让我们的数据失去了分析价值。所以现阶段希望有一种脱敏方法,既可以对身份证号进行脱敏,又可以保持身份证号本身的结构特征和分析价值。
发明内容
本发明为克服上述的不足之处,目的在于提供一种保留统计级特征属性的身份证号脱敏方法,既可以对身份证号进行脱敏,又可以保持身份证号本身的结构特征和分析价值。
本发明是通过以下脱敏方案达到上述目的:1、一种保留统计级特征属性的身份证号脱敏方法,包括以下步骤:
一、提取待脱敏的身份证号,将身份证号分为待脱敏地区编码、待脱敏出生日期、待脱敏顺序码和待脱敏校验码;
二、对待脱敏地区编码、待脱敏出生日期、待脱敏顺序码和校验码进行脱敏,
(1)待脱敏地区编码进行脱敏的步骤:
①加载全国所有地区编码信息(港澳台除外),取地区编码前2位作为Key值,相同的Key值放置到对应的List集合,若干 List集和构成Map集合;
②获取待脱敏地区编码的前2位,在Map集合中根据Key 值,找到对应的List集合,并对List集合中的地区编码进行随机置乱;
③获取List集合中首个地区编码,作为新的地区编码,若新的地区编码和待脱敏地区编码相同,则重复上面的步骤②,直到获取到新的地区编码;
(2)待脱敏出生日期进行脱敏的步骤:获取基准日期与待脱敏出生日期的间隔天数,间隔天数通过转换得到新的间隔天数,新的间隔天数进制转换后与一个随机数进行模运算,得到最终的间隔天数,根据最终的间隔天数得到新的出生日期;
(3)待脱敏顺序码进行脱敏的步骤:获取待脱敏顺序码 sequence,根据公式计算新的顺序码newSequence,如果顺序码超过 3位,则去掉最高位,所述n为随机整数:
newSequence=sequence+2*n;
(4)根据身份证号的固定算法得到新的校验码;
(三)新的地区编码、新的出生日期、新的顺序码和新的校验码依次组合成新的身份证号。
作为优选,所述待脱敏地区编码为待脱敏身份证的第1-6位、待脱敏出生日期为待脱敏身份证的第7-14位、待脱敏顺序码为待脱敏身份证的第15-17位,校验码为待脱敏身份证的第18位。
作为优选,所述新的间隔天数newGapDay的计算公式如下:
newGapDay=(baseDate-birthDate-(32760*flag)
flag=(baseDate-birthDate)/32760
其中baseDate为基准日期,birthDate为待脱敏出生日期,flag取其商值并取整。
作为优选,所述新的间隔天数转换成5位八进制数G
作为优选,所述模运算得到5位八进制数D
计算D
计算D
计算D
计算D
计算D
作为优选,所述D
tempDay=D
计算最后的间隔天数ResultDay
ResultDay=tempDay+(32760*flag)
得到新的出生日期newBirthDay=baseDate-ResultDay。
作为优选,所述n为[0,50)以内的随机整数。
本发明的有益效果在于:一、本发明采用分段处理机制,可以灵活选择要脱敏的分段信息;二、脱敏后的身份证地区编码所在省份保持不变,满足做人员地域分布等相关方面的分析;三、脱敏后的各年龄段所占比例基本保持不变,满足做人员年龄分布等方面的分析;四、脱敏后的顺序码奇偶性保持不变、信息性别比例保持不变,满足做人员性别分布等方面的分析;五、通过身份证校验码算法获取校验码,身份证号信息结构特征保持不变。
附图说明
图1是本发明方法的流程图。
具体实施方式
下面结合具体实施实例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
实施例:对身份证号642225182502231271(本身份证号为虚构号码)进行脱敏。
一、对身份证号进行分段,将身份证号分为地区编码:642225,出生日期:18250223,顺序码:127,校验码1。
二、对身份证号进行分段脱敏:
(1)对地区编码642225进行脱敏:
①加载全国所有地区编码信息(港澳台除外),将其放置到 Map集合中;
②在Map集合中获取Key值为64的集合,并对List集合中的地区编码进行随机置乱;
③获取List集合中首个地区编码,获取到的新的地区编码为642127;
(2)对出生日期18250223进行脱敏:
①定义基准日期为20201029:
②计算间隔天数:基准日期-出生日期
间隔天数为:71471天;
③使用间隔天数整除32760,获取其商值并取整。
flage=71471/32760=2
④获取新的间隔天数为:5951天;
5951=71471-(32760*2)
⑤将新的间隔天数转换为5位八进制数为:13477。
⑥获取一个随机的5位八进制数06426。
⑦通过模运算,获取新的5位八进制数07665。
计算5=(7+6)%8
计算6=(((7+2)%8)+5)%8
计算6=(((4+4)%8)+6)%8
计算7=(((3+6)%8)+6)%8
计算0=(((1+0)%8)+7)%8
⑧将新的5位八进制数转换为十进制数(tempDay)。
tempDay=0*8
⑨计算最后的间隔天数(ResultDay)为:69541天
69541=4021+(32760*2)
⑩计算脱敏后的出生日期(newBirthDay)为:18300607
newBirthDay=baseDate(基准日期)-ResultDay
(3)对顺序码进行脱敏
①获取一个[0,50)以内的随机整数23,原顺序码为: 127。
②计算新的顺序码为:173=127+2*23
三、将脱敏后的分段信息重新组合成新的身份证号为:
64212718300607173,还少最后一位的校验码。
四、根据新的身份证号信息,通过身份证号的固定算法,获取新的身份证号校验码为:3。
五、最后将校验码补充完整,即可获取到脱敏后的身份证号码为:642127183006071733。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
机译: 特征属性信息传递系统及特征属性信息传递方法
机译: 用于读取标记和图像优先级的标记读取器具有用于检测多个图像的图像检测系统,其中通过分析过程对检测到的图像进行分析,以确定检测到的图像的特征属性
机译: 一种消费级计算法,其计算方法是:在消费者基准负荷以下的阶段通过逆累积阶段系统计算每单位电量的电费及其系统