小甲鱼 发表于 2013-7-5 17:57:55

居民身份证验证程序

程序要求:制作包含身份证校验函数的动态链接库

视频讲解:http://blog.fishc.com/2698.html

参考源代码:http://bbs.fishc.com/thread-33959-1-1.html

程序截图:





算法参考资料:

我国现行使用公民身份证号码有两种尊循两个国家标准,〖GB 11643-1989〗和〖GB 11643-1999〗。

〖GB 11643-1989〗中规定的是15位身份证号码:排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。


6位行政区划分代码6位出生日期3位顺序码

〖GB 11643-1999〗中规定的是18位身份证号码:公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。


6位行政区划分代码8位出生日期3位顺序码1位校验码

行政区划分代码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码。

行政区划分代码【国家标准GB T 2260-1999】

出生日期码:表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。

顺序码:表示同一地址码所标识的区域范围内,对同年、同月、同日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。

校验码:是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。

按照中华人民共和国国家标准GB11643-1999规定中华人民共和国公民身份号码校验码的计算方法即为ISO 7064:1983.MOD 11-2校验码计算法。
假设某一17位数字是:12345678901234567


17位数字 12 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
加权因子 79 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

计算17位数字各位数字与对应的加权因子的乘积的和S:1×7+2×9+3×10+4×5+5×8+6×4+7×2+8×1+9×6+0×3+1×7+2×9+3×10+4×5+5×8+6×4+7×2=368;

计算S÷11的余数T:368 mod 11=5;

计算(12-T)÷11的余数R,如果R=10,校验码为字母“X”;如果R≠10,校验码为数字“R”:(12-5)mod 11=7。
该17位数字的校验码就是7,聚合在一为123456789012345677。

沉默的风采 发表于 2013-7-8 09:46:03

这个可以关注一下。

禁止登陆 发表于 2013-7-10 15:50:58

沉默的风采 发表于 2013-7-8 09:46 static/image/common/back.gif
这个可以关注一下。

甲鱼哥那个那个《黑基delphi特训班》的论坛,里面的内容下载了打开里面全是空的而且还是200多mb,那是怎么回事啊

沉默的风采 发表于 2013-7-11 14:18:02

禁止登陆 发表于 2013-7-10 15:50 static/image/common/back.gif
甲鱼哥那个那个《黑基delphi特训班》的论坛,里面的内容下载了打开里面全是空的而且还是200多mb,那是怎么 ...

你说的是哪个地址。

小甲鱼 发表于 2013-7-11 18:59:21

禁止登陆 发表于 2013-7-10 15:50 static/image/common/back.gif
甲鱼哥那个那个《黑基delphi特训班》的论坛,里面的内容下载了打开里面全是空的而且还是200多mb,那是怎么 ...

不明真相,啥玩意儿?

贝壳 发表于 2013-7-11 23:53:52

是压缩文件里面显示为空吗?
我知道有一些文件压缩后必须用快压才能看到里面的内容,用winrar打开的话会显示为空。

11年__那些事儿 发表于 2013-7-17 09:27:27

甲鱼老师在dll实现窗体重用的教程里使用了调用约定export和far,这是16位下的啊,不知道为啥老师要这么用呢?

小甲鱼 发表于 2013-7-17 17:56:32

11年__那些事儿 发表于 2013-7-17 09:27 static/image/common/back.gif
甲鱼老师在dll实现窗体重用的教程里使用了调用约定export和far,这是16位下的啊,不知道为啥老师要这么用呢 ...

不好意思,习惯难改~~~~

cathong 发表于 2013-7-17 18:42:32

真是难得给力的帖子啊。我无语了……

11年__那些事儿 发表于 2013-7-17 20:00:54

原来是这样啊。。。。{:5_109:}

zer0 发表于 2013-7-17 21:01:50

哈哈~~这个类似的小工具在学校用excel表格做过~~~~~~{:5_95:}

lovejin11 发表于 2013-8-5 21:23:02

真是难得给力的帖子啊。我真的很感悟……

晨风吹过 发表于 2013-8-9 20:25:40

激动人心,无法言表!

氧化磷酸化 发表于 2013-9-7 12:01:46

激动人心,无法言表!

氧化磷酸化 发表于 2013-9-7 12:10:17

真是难得给力的帖子啊。

FlyingAnt 发表于 2013-9-25 16:19:22

激动人心,无法言表!

默然 发表于 2013-11-11 19:05:44

看看 ,有帮助~!

沉思的牛 发表于 2013-11-12 21:55:14

强烈支持楼主ing……
经过老大的指导我也写出来了:lol:

沉思的牛 发表于 2013-11-12 21:55:58


想知道老大何时出进阶版

岁月如歌 发表于 2013-11-14 22:51:52

真是被感动的痛哭流涕……
页: [1] 2
查看完整版本: 居民身份证验证程序