身份证校验码生成算法
来源:互联网 发布:网络打印机服务器开启 编辑:程序博客网 时间:2024/04/27 22:05
根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。……顺序码的奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
先引入公式:
∑(a[i]*W[i]) mod 11 ( i = 2, 3, ..., 18 ) (1)
"*" 表示乘号
i--------表示身份证号码每一位的序号,从右至左,最左侧为18,最右侧为1。
a[i]-----表示身份证号码第 i 位上的号码
W[i]-----表示第 i 位上的权值 W[i] = 2^(i-1) mod 11
计算公式 (1) 令结果为 R
根据下表找出 R 对应的校验码即为要求身份证号码的校验码C。
R 0 1 2 3 4 5 6 7 8 9 10
C 1 0 X 9 8 7 6 5 4 3 2
由此看出 X 就是 10,罗马数字中的 10 就是 X
先引入公式:
∑(a[i]*W[i]) mod 11 ( i = 2, 3, ..., 18 ) (1)
"*" 表示乘号
i--------表示身份证号码每一位的序号,从右至左,最左侧为18,最右侧为1。
a[i]-----表示身份证号码第 i 位上的号码
W[i]-----表示第 i 位上的权值 W[i] = 2^(i-1) mod 11
计算公式 (1) 令结果为 R
根据下表找出 R 对应的校验码即为要求身份证号码的校验码C。
R 0 1 2 3 4 5 6 7 8 9 10
C 1 0 X 9 8 7 6 5 4 3 2
由此看出 X 就是 10,罗马数字中的 10 就是 X
- 身份证校验码生成算法
- 身份证最后一会校验码生成算法
- 身份证校验码算法(一)
- 身份证验证之校验码算法验证
- 身份证校验码算法及其实现方法
- ISO 7064:1983.MOD11-2校验码计算法 : (身份证校验码-18位)
- 修改身份证的校验码。
- 身份证校验码查询
- 身份证最后一位校验码
- 身份证的校验码计算
- java生成MD5校验码及算法实现
- java生成MD5校验码及算法实现
- java生成MD5校验码及算法实现
- java生成MD5校验码及算法实现
- Java生成MD5校验码及算法实现
- java生成MD5校验码及算法实现
- java生成MD5校验码及算法实现
- java生成MD5校验码及算法实现
- 卡巴斯基 取消 远程控制 限制
- 用dompdf和pChart生成PDF报表
- EclipsePHP Studio 3新建php文件中文乱码
- Factory Pattern
- PHP获取当前页面的URL
- 身份证校验码生成算法
- Proguard的介绍
- 多语言网站实现方案
- 制作了一个仿淘宝的tab框
- 寻秦记续.rar
- jetty关于http状态码处理的一个很有用的类
- cocos2d CCScrollerLayer 放大镜 效果 算法 (越靠近中心点越变大)
- Rabin-Karp字符串匹配算法
- 个人版机房收费系统收工