发明名称 |
18位身份证号码漂白和反向漂白方法 |
摘要 |
本发明涉及18位身份证号码漂白和反向漂白方法。漂白方法包括:步骤100、初始化AddrCodeGroups个列表;步骤110、计算行政区划代码x的hashCode;步骤120、计算x对应的列表序号roupIndex;步骤130、将x存入groupIndex对应的列表中;步骤140、输入待漂白身份证号码,计算x的hashCode及groupIndex;步骤150、计算x在groupIndex对应的列表codeList的位置codeInd;步骤160、根据hashCode计算顺序码的orderCodeShift;步骤170、年份编码前两位保持不变,根据新顺序码计算年份编码后两位的YYShift;步骤180、根据新年份编码后两位计算月份编码的MMShift;步骤190、根据新月份编码计算日期编码的DDShift;步骤195、计算新校验码,输出漂白后身份证号码。本发明还提供相应的反向漂白方法。本发明的漂白和反向漂白方法保持数据高仿真度、漂白过程不易被破解。 |
申请公布号 |
CN104899521A |
申请公布日期 |
2015.09.09 |
申请号 |
CN201510310488.2 |
申请日期 |
2015.06.08 |
申请人 |
深圳市华傲数据技术有限公司 |
发明人 |
王明兴;贾西贝 |
分类号 |
G06F21/62(2013.01)I |
主分类号 |
G06F21/62(2013.01)I |
代理机构 |
深圳市华优知识产权代理事务所(普通合伙) 44319 |
代理人 |
余薇 |
主权项 |
一种18位身份证号码漂白方法,其特征在于,包括:步骤100、收集所有的行政区划代码数据,初始化AddrCodeGroups个列表codeList以用于存储行政区划代码;步骤110、按一定的方式计算行政区划代码x的哈希值hashCode;步骤120、计算行政区划代码x对应的列表序号groupIndex:groupIndex=mod(hashCode,AddrCodeGroups);步骤130、将行政区划代码x存入groupIndex对应的列表中;步骤140、输入待漂白身份证号码,按前述方式计算待漂白身份证号码的行政区划代码x的哈希值hashCode并计算其对应的列表序号groupIndex;步骤150、计算x在groupIndex对应的列表codeList的位置codeInd;取codeList中mod(codeInd+CodeShift,len)位置上的行政区划代码作为新的行政区划代码,其中len为codeList的长度,CodeShift为预设的偏移量;步骤160、根据哈希值hashCode按一定的方法计算顺序码的偏移量orderCodeShift;新顺序码newOrderCode=mod(orderCode+orderCodeShift,1000),其中orderCode为旧顺序码;步骤170、年份编码前两位保持不变,根据新顺序码newOrderCode按一定的方法计算年份编码后两位的偏移量YYShift;新年份编码后两位newYY=mod(YY+YYShift,100),其中YY为旧年份编码后两位;步骤180、根据新年份编码后两位newYY按一定的方法计算月份编码的偏移量MMShift;新月份编码newMM=(MM+MMShift,12),其中MM为旧月份编码;步骤190、根据新月份编码newMM按一定的方法计算日期编码的偏移量DDShift,新日期编码newDD=mod(DD+DDShift,maxDay);其中DD为旧日期编码,maxDay为新月份编码newMM对应的月中最大的天数maxDay;步骤195、计算新的校验码,输出漂白后的身份证号码。 |
地址 |
518057 广东省深圳市南山区高新区中区高新中一道9号软件大厦7层713、715、716室 |