嵌入式系统设计报告-基于c#的身份证验证系统

嵌入式系统设计报告-基于c#的身份证验证系统

ID:33127885

大小:152.51 KB

页数:12页

时间:2019-02-21

嵌入式系统设计报告-基于c#的身份证验证系统_第1页
嵌入式系统设计报告-基于c#的身份证验证系统_第2页
嵌入式系统设计报告-基于c#的身份证验证系统_第3页
嵌入式系统设计报告-基于c#的身份证验证系统_第4页
嵌入式系统设计报告-基于c#的身份证验证系统_第5页
资源描述:

《嵌入式系统设计报告-基于c#的身份证验证系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、大学信息科学技术学院《嵌入式系统》大作业设计报告项目名称基于WindowsCE6.0的C#身份证验证系统姓名:学号:班级:日期:12目录第一部分设计任务3第二部分设计原理3号码的结构和表示形式3号码的结构3地址码3出生日期码3顺序码3校验码3校验公式3校验字符值的计算4号码的表示形式4第三部分设计方案及实现4实现的关键技术说明4身份证号码检验类4号码格式检验4地区号检验5出生日期检验5校验码的检验6项目实现方案及论证6窗体应用程序实现6系统的输入与输出与流程6事件7设计步骤8第四部分系统测试与性能分析8测试用例设计8测试实验结果8第五部分结论10附录10(1)参考资料10(2)设计步骤10

2、(3)遇到的问题与解决方法11(4)课程体会及建议1112第一部分设计任务本课题主要目的是为了设计一套程序来验证给出的身份证号是否正确,如若正确将身份证号所体现的关键信息性别,年龄,出生日期展现给用户,给相关部门机构带来方便。否则展示具体的错误信息提醒用户。该系统运行在WindowsEmbeddedCE6.0环境下,基于C#语言进行开发。第二部分设计原理系统的主要部分是身份证号码的验证。验证方法根据中国国家质量技术监督局于1999年7月1日发布的国家标准:GB11643-1999《公民身份号码》中的内容进行校验。号码的结构和表示形式号码的结构公民身份号码是特征组合码,由十七位数字本体码和一

3、位数字校验码组成。排列顺序从左至右依次为六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。出生日期码表示编码对象出生的年、月、日,按GB/T7408的规定执行。年、月、日代码之间不用分隔符。例:某人出生日期为1966年10月26日,其出生日期码为19661026。顺序码表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。校验码校验码采用ISO7064:1983,MOD11-2校验码系统校验公式公民身份号码中各个位置上的

4、号码字符值应满足下列公式的校验:式中i:—表示号码字符从右至左包括校验码字符在内的位置序号;ai—表示第i位置上的号码字符值;Wi—表示第i位置上的加权因子,其数值依据公式Wi=2(i-1)(mod11)计算得出。表1列出公民身份号码中各个位置上的加权因子Wi数值。表1公民身份号码中各个位置上的加权因子Wi数值i181716151413121110987654321wi79105842116379105842112校验字符值的计算当i=1时,W1=20=1,公式(1)可表示成:公式(2)中,a1即为校验码字符值,其取值范围是0≤ai≤10;当ai=10时,用罗马数字符X表示。满足于公式(2

5、)及取值范围要求的校验码字符值ai可根据a1与的换算关系算出,见表2。表2字符值a1与(计算值)的换算关系表(计算值)012345678910校验码字符值10X98765432号码的表示形式公民身份号码的各特征码依次连接,不留空格,其表示形式为:××××××××××××××××××一位数字校验码三位数字校验码八位数字校验码六位数字校验码第三部分设计方案及实现实现的关键技术说明程序设计组成框图:身份证号码验证系统1.接收用户输入的身份证号,判断位数及每一位是否正确。2.判断地区码是否正确。3.判断出生年月日是否符合实际,特别是2月。4.运算校验码,并比较第十八位时候为校验码。5.提取输出关键

6、信息。12身份证号码检验类校验码的检验单独抽取为CheckCid类,包含静态方法CheckCidInfo(),输入的参数是string类型的身份证号,返回的是Hashtable类型的验证结果表,验证结果包含状态码以及详细信息。号码格式检验使用正则表达式进行校验,校验规则具体为:1.以17位数字开始2.以一位数字或者x字符结束通过使用系统类System.Text.RegularExpressions的Regex方法生成正则表达式实例,通过调用实例的Match方法对输入的身份证号进行验证。若匹配结果失败,说明身份证号码不符合格式要求,返回错误码-1,并带上错误信息:“非法身份证号,数据长度或者

7、格式不正确”。System.Text.RegularExpressions.Regexrg=newSystem.Text.RegularExpressions.Regex(@"^d{17}(d

8、x)$");System.Text.RegularExpressions.Matchmc=rg.Match(cid);Hashtablept=newHashtable();if(!mc.Success){pt.Add("res

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

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

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