收藏 分享(赏)

身份证件的验证问题.pptx

上传人:依依 文档编号:1020760 上传时间:2018-06-03 格式:PPTX 页数:14 大小:428.95KB
下载 相关 举报
身份证件的验证问题.pptx_第1页
第1页 / 共14页
身份证件的验证问题.pptx_第2页
第2页 / 共14页
身份证件的验证问题.pptx_第3页
第3页 / 共14页
身份证件的验证问题.pptx_第4页
第4页 / 共14页
身份证件的验证问题.pptx_第5页
第5页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、身份证验证问题,2015-3,Management Information System,问题,1.如何验证一个身份证号码是否是真的?2.从身份证号码中能获得什么样的信息?3.如何用程序来解决这两个问题?,问题分析,1.号码的结构公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:6位数字地址码8位数字出生日期码3位数字顺序码1位数字校验码。例如:,3 4 0 5 2 4 1 9 8 0 0 1 0 1 0 0 1 X,地址码,出生日期码,顺序码,校验码,问题分析,1.地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。

2、2.出生日期码表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。3.顺序码表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。4.校验码校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。,校验码计算方法,某男性公民身份号码本体码为34052419800101001,首先按照公式计算:(AiWi)(mod 11)(1)公式(1)中: i-表示号码字符从右至左包括校验码在内的位置序号; Ai-表示第i位置上的号码字符值; Wi-示第i位置上的加

3、权因子,其数值依据公式Wi=2(n-1) % 11计算得出。,校验码计算方法,189 /11 = 17 2mod(AiWi) , 11) = 2然后根据计算的结果,从下面的表中查出相应的校验码,其中X表示计算结果为10:根据上表,查出计算结果为2的校验码为X,所以该人员的公民身份号码应该为 34052419800101001X。,地址码处理问题,地址码所对应的地址放在地址码文件中,程序设计流程图,开始,输入身份证号码,验证,验证结果,提取身份证信息,输出身份信息,结束,输出错误提示,程序,static void Main(string args) string IDNumber; /待检验的身

4、份证号码18位 string strAreaCode; /1-6位 区域代码 string strBirthday; /7-14位 出生日期码 string strSerialNumber; /15-17位 顺序码,奇数为男,偶数为女 char strVerifyCode; /第18位 校验位 Console.WriteLine(请输入一个身份证号码:); IDNumber= Console.ReadLine();,/验证长度是否正确,if (IDNumber.Length != 18) Console.WriteLine(身份证长度不够!n); Console.ReadKey(); /程序暂

5、停 return; Console.WriteLine(IDNumber);,/验证校验码是否正确,strVerifyCode = char.Parse(IDNumber.Substring(17, 1); /原身份证中的验证码int ch = new int17; /身份证的前17个字符int weight = new int 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 ; /验证身份证号码的权值char verifyCode = new char 1, 0, x, 9, 8, 7, 6, 5, 4, 3, 2 ;/对应的验证码int sum = 0;for (i

6、nt i = 0; i 17; i+) chi = int.Parse(IDNumber.Substring(i, 1); sum += chi*weighti; int result = sum % 11; /校验位置 if (verifyCoderesult != strVerifyCode) /校验码验证 Console.WriteLine(验证码不正确!n); Console.ReadKey(); /程序暂停 return; ,/输出身份信息,/输出地区 /输出出生日期和年龄 /输出性别,思考(问题和改进),1. 日期验证的问题2. 地区码验证问题3. 程序结构问题(重用,可读,健壮),Thank you!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报