身份证验证问题.pptx

身份证验证问题.pptx

ID:48466002

大小:428.95 KB

页数:14页

时间:2020-01-18

身份证验证问题.pptx_第1页
身份证验证问题.pptx_第2页
身份证验证问题.pptx_第3页
身份证验证问题.pptx_第4页
身份证验证问题.pptx_第5页
资源描述:

《身份证验证问题.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

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

3、的加权因子,其数值依据公式Wi=2(n-1)%11计算得出。i181716151413121110987654321Ai34052419800101001?Wi79105842163791058421ai×Wi21360251616294800905002189校验码计算方法189/11=17……2mod(∑(Ai×Wi),11)=2然后根据计算的结果,从下面的表中查出相应的校验码,其中X表示计算结果为10:根据上表,查出计算结果为2的校验码为X,所以该人员的公民身份号码应该为34052419800101001X。mod(∑(Ai×Wi),11)012345678910校验码字

4、符值Ai10X98765432地址码处理问题地址码所对应的地址放在地址码文件中程序设计流程图开始输入身份证号码验证验证结果提取身份证信息输出身份信息结束输出错误提示程序staticvoidMain(string[]args){stringIDNumber;//待检验的身份证号码18位stringstrAreaCode;//1-6位区域代码stringstrBirthday;//7-14位出生日期码stringstrSerialNumber;//15-17位顺序码,奇数为男,偶数为女charstrVerifyCode;//第18位校验位Console.WriteLine("请输入

5、一个身份证号码:");IDNumber=Console.ReadLine();//验证长度是否正确if(IDNumber.Length!=18){Console.WriteLine("身份证长度不够!");Console.ReadKey();//程序暂停return;}Console.WriteLine(IDNumber);//验证校验码是否正确strVerifyCode=char.Parse(IDNumber.Substring(17,1));//原身份证中的验证码int[]ch=newint[17];//身份证的前17个字符int[]weight=newint[]{7,

6、9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};//验证身份证号码的权值char[]verifyCode=newchar[]{'1','0','x','9','8','7','6','5','4','3','2'};//对应的验证码intsum=0;for(inti=0;i<17;i++){ch[i]=int.Parse(IDNumber.Substring(i,1));sum+=ch[i]*weight[i];}intresult=sum%11;//校验位置if(verifyCode[result]!=strVerifyCode)//校验码验证{Cons

7、ole.WriteLine("验证码不正确!");Console.ReadKey();//程序暂停return;}//输出身份信息//输出地区//输出出生日期和年龄//输出性别思考(问题和改进)1.日期验证的问题2.地区码验证问题3.程序结构问题(重用,可读,健壮)Thankyou!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。