发明名称 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室