计算机显示屏编码,ID号的秘密?原来是这样编码的

5f5fdf39cef793c8671177a6ae157f0f.png

Leifeng.com(搜索紧随其后的“ Leifeng.com”公众号)出版社: 本文作者Mr.Colin,付款和结算产品经理.

ID号在产品设计中有很多应用,例如实名认证,银行卡绑定和财务数据输入. 本文将主要分享ID号编码规则及其在产品设计中的应用.

c5331d8a4387fedd3331c4dcfbcf52ea.png

说明: 除非本文另有规定,否则号是指18位公民身份号码

I. 号码结构

38bf1843f9e53459f063b2635bf4c690.png

在早期,“号码”被称为“社会安全号码”,它是15位数字. 在1999年,它被重命名为公民号,即第二代,它是18位数字,并且终身不变.

cp123006.jpg

430512 19890813 136 7

公民身份号码是功能的组合,由正文代码的前17位数字和验证码的最后一位数字组成. 排列顺序从左到右分别是六位地址码,八位出生日期码,三位顺序码和一位验证码.

地址代码: 表示编码目标永久居所所在的县(城市,国旗,地区)的行政区划代码. 对于新生儿,地址代码是户籍注册地的行政区划代码. 应该注意的是,随着行政区划的调整,在同一地点进行户口登记时,地址代码可能会不一致. 行政区划代码应按照GB / T 2260的规定执行.

出生日期代码: 指示编码对象的出生年份,月份和日期,在年份编码算法,月份和日期代码之间没有分隔符. 格式为YYYYMMDD,例如19980328. 按GB / T 7408的规定.

序列号: 表示分配给在同一地址代码标识的区域内的同一年,同一月和同一天出生的人的序列号. 序列号的奇数分配给男性,偶数分配给女性.

校验码: 根据主体代码,校验码是使用ISO 7064: 1983,MOD 11-2校验码系统计算的. 该算法可以在下面参考. 正如前面提到的数字验证码,我们知道验证码也有X,本质上是罗马字符X,相当于10.

两个15位数和18位数的ID号码差

6cdf523e37eee405e37c055a3f424497.png

出生日期代码: 15位ID号的出生日期代码是4位数字,其中年份代码只有2位数字,例如590328编码算法,这意味着1959年出生.

校验码: 15位ID号中没有校验位.

三,校验码算法

将身体代码的每个数字乘以相应的加权因子和总和,除以11得到余数,然后通过校验码比较表根据余数检查校验码.

权重因子:

8b10efcf2565902a2f3a2764f02a9632.png

验证码:

0ad33e348ce5e6ec785445ca94b641bb.png

a8c5fe35297696afdde669e07b6ee54b.png

算法示例:

正文代码为: 11010519491231002

第一步: 每个数字与相应加权系数的乘积之和1 * 7 + 1 * 9 + 0 * 10 + 1 * 5 + *** = 167

第2步: 将总和除以11,得到余数167/11(余数为2)

第三步: 根据余数2检查X并得到X

因此,完整的ID号为: 11010519491231002X

185e713bc11e057d51db0d55f92906ff.png

四,编码规则的应用

如上所述,ID号基于某些规则,并且可以从ID号中提取以下信息:

1. 长度验证: 只有15或18位数字的长度.

2. 验证输入的正确性: 如果号码为18位,则可以根据车体代码和验证码之间的关系,验证号码输入错误. 需要指出的是,验证并不代表号的真实性.

3. 获取户籍信息: 在大多数情况下,该位置是原籍地或原籍地. 对应时要注意行政区划代码的更新迭代;

4. 出生日期及其正确性.

5. 性别: 序列码中的奇数是男性,偶数是女性.

6. 根据18位和15位ID卡号的编码规则和校验和算法,将15位ID卡号转换为18位ID卡号.

注意事项: 由于校验码为X,因此实际上存在不同的大写和小写输入. 请注意兼容性或统一性. 返回搜狐,查看更多

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/tongxinshuyu/article-175040-1.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值