1.一种基于随机和置换相结合的身份证号码脱敏方法,其特征在于,包括:
步骤S1:读取原始身份证号码,将号码按照出生地址、出生日期和出生顺序来分类存放;
步骤S2:定义身份证前十七位数字所代表含义的取值范围;
步骤S3:生成新的地址码;
步骤S4:生成新的出生日期码;
步骤S5:生成新的顺序码;
步骤S6:计算新的校验码;
步骤S7:由以上18位新的数字组合成新的、已脱敏的身份证号码。
2.根据权利要求1所述的基于随机和置换相结合的身份证号码脱敏方法,其特征在于,所述步骤S1包括:
步骤S11:读取前六位身份证号码为地址码;
步骤S12:读取身份证号码第七至十四位为出生日期码;
步骤S13:读取身份证号码第十五位至十七位为顺序码;
步骤S14:读取身份证号码最后一位为校验码。
3.根据权利要求2所述的基于随机和置换相结合的身份证号码脱敏方法,其特征在于,所述步骤S2包括:
步骤S21:定义身份证地址码的省码、市码和区县码的取值范围;
步骤S22:定义身份证的出生日期码的年码、月码和日码的取值范围;
步骤S23:定义身份证的顺序码的取值范围。
4.根据权利要求3所述的基于随机和置换相结合的身份证号码脱敏方法,其特征在于,所述步骤S3包括:
步骤S31:用随机函数RANDBETWEEN(),从表1的省码取值范围中随机选取一个,作为新的省码;
步骤S32:用随机函数RAND,从表1的市码取值范围中随机选取一个,作为新的市码;
步骤S33:用随机函数RAND,从表1的区县码取值范围中随机选取一个,作为新的区县码;
步骤S34:将新的省码、市码和区县码组合起来作为新的六位地址码。
5.根据权利要求4所述的基于随机和置换相结合的身份证号码脱敏方法,其特征在于,所述步骤S4包括:
步骤S41:读取原始出生日期码;
步骤S41:用随机函数RAND(1,5)产生三个随机数m、n、q;
步骤S41:对原始出生日期的年、月、日分别加上m、n、q;
步骤S41:将新的年、月、日组成新的出生日期码。
6.根据权利要求5所述的基于随机和置换相结合的身份证号码脱敏方法,其特征在于,所述步骤S5包括:
步骤S51:读取原始顺序码;
步骤S52:对原始顺序码进行随机0—1分类;
步骤S53:对被分为1的赋予三位奇随机数为新的顺序码,被分为0的赋予三位偶随机数为新的顺序码。
7.根据权利要求6所述的基于随机和置换相结合的身份证号码脱敏方法,其特征在于,步骤S6计算新的校验码的方法为:
前十七位身份证号码数字分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2的乘积求和,并模11,结果便为校验码的值,公式为:
∑(ai×wi)(mod11)
其中,i表示第i个数字,ai表示第i个数字的值,wi表示第i个加权因子。
8.一种与权利要求1-7中任一所述的基于随机和置换相结合的身份证号码脱敏方法对应的装置,其特征在于,所述基于随机和置换相结合的身份证号码脱敏装置包括:
原始身份证号码读取单元,用于读取原始身份证号码并保存;
身份证号码取值范围定义单元,用于定义身份证上18位数字号码取值范围;
新地址码生成单元,用于产生新的地址码;
新出生日期码生成单元,用于产生新的出生日期码;
新顺序码生成单元,用于产生新的顺序码;
新校验码生成单元,用于产生新的校验码;
身份证号码重组单元,用于将产生的新的地址码、新的出生日期码、新的顺序码和新的校验码按照原始身份证排放顺序进行排放,组成新的身份证号码,用以隐藏客户的真实信息,防止泄漏。
9.根据权利要求8所述的基于随机和置换相结合的身份证号码脱敏装置,其特征在于,所述原始身份证号码读取单元包括:
地址码读取子单元,读取并存放地址码;
出生日期码读取子单元,读取并存放出生日期码;
顺序码读取子单元,读取并存放顺序码;
校验码读取子单元,读取并存放校验码。
10.根据权利要求9所述的基于随机和置换相结合的身份证号码脱敏装置,其特征在于,所述校验码单元,将得到的新的前十七位数字分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,然后乘积求和,并模11,结果便为新的校验码的值,公式为:
∑(ai×wi)(mod11)
其中,i表示第i个数字,ai表示第i个数字的值,wi表示第i个加权因子。