居民身份证验证程序
程序要求:制作包含身份证校验函数的动态链接库视频讲解: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 static/image/common/back.gif
这个可以关注一下。
甲鱼哥那个那个《黑基delphi特训班》的论坛,里面的内容下载了打开里面全是空的而且还是200多mb,那是怎么回事啊 禁止登陆 发表于 2013-7-10 15:50 static/image/common/back.gif
甲鱼哥那个那个《黑基delphi特训班》的论坛,里面的内容下载了打开里面全是空的而且还是200多mb,那是怎么 ...
你说的是哪个地址。 禁止登陆 发表于 2013-7-10 15:50 static/image/common/back.gif
甲鱼哥那个那个《黑基delphi特训班》的论坛,里面的内容下载了打开里面全是空的而且还是200多mb,那是怎么 ...
不明真相,啥玩意儿? 是压缩文件里面显示为空吗?
我知道有一些文件压缩后必须用快压才能看到里面的内容,用winrar打开的话会显示为空。 甲鱼老师在dll实现窗体重用的教程里使用了调用约定export和far,这是16位下的啊,不知道为啥老师要这么用呢? 11年__那些事儿 发表于 2013-7-17 09:27 static/image/common/back.gif
甲鱼老师在dll实现窗体重用的教程里使用了调用约定export和far,这是16位下的啊,不知道为啥老师要这么用呢 ...
不好意思,习惯难改~~~~ 真是难得给力的帖子啊。我无语了…… 原来是这样啊。。。。{:5_109:} 哈哈~~这个类似的小工具在学校用excel表格做过~~~~~~{:5_95:} 真是难得给力的帖子啊。我真的很感悟…… 激动人心,无法言表! 激动人心,无法言表! 真是难得给力的帖子啊。 激动人心,无法言表! 看看 ,有帮助~! 强烈支持楼主ing……
经过老大的指导我也写出来了:lol:
想知道老大何时出进阶版 真是被感动的痛哭流涕……
页:
[1]
2