⾝份证号码的编码规则及校验
前⾔
根据最新修订的《中华⼈民共和国居民⾝份证法》第⼆⼗三条规定,依照《中华⼈民共和国居民⾝份证条例》领取的居民⾝份证,⾃2013年1⽉1⽇起停⽌使⽤。即⼀代⾝份证已于2013年1⽉1⽇起停⽌使⽤,本⽂内容适⽤于⼆代⾝份证,如⽆特殊说明,本⽂中所说的⾝份证皆指⼆代⾝份证。
笔者⽬前使⽤的jdk版本是1.6.0_29,Eclipse版本是Juno Release,Build id 20120614-1722。如⽆特殊说明,本⽂所有的Java代码都是基于此。
本⽂包含⼤量数学公式和Java代码,⼿机端浏览体验较差,可在⼿机端浏览⽂字性内容,数学公式和Java代码在PC端浏览,同时建议准备好纸、笔⽤于数学公式的演算。具有⼀定数学基础的读者也可以忽略此条建议。
本⽂中提供的Java代码都是笔者逐⾏编写、反复斟酌,以求能够抛砖引⽟,使初学者可以孜孜不倦,在Java的学习道路上更进⼀层楼。本⽂内容,不⾜之处,欢迎⼤家批评指正。
修订记录
扣12分版本号修订⽇期修订说明
V0.12018/08/13初稿
V1.02018/09/02发布
参考资料
1. 中华⼈民共和国居民⾝份证法
2. 中华⼈民共和国国家标准 GB/T 2260-2007 中华⼈民共和国⾏政区划代码
3. 中华⼈民共和国国家标准 GB 11643-1999 公民⾝份证号码
4. 中华⼈民共和国国家标准 GB/T 17710-1999 数据处理 校验码系统
5. 中华⼈民共和国国家标准 GB/T 17710-2008 信息技术 安全技术 校验字符系统
花洒十大品牌6. ISO 7064:1983 Data processing - Check character systems
7. ISO/IEC 7064:2003 Information technology - Security techniques - Check character systems
⾝份证号码的编码规则
⾝份证号码共18位,由17位本体码和1位校验码组成。
网上经典语句1. 前6位是地址码,表⽰登记户⼝时所在地的⾏政区划代码,依照《中华⼈民共和国⾏政区划代码》国家标准(GB/T2260)的规定执⾏;赵权孙佳仁
2. 7到14位是出⽣年⽉⽇,采⽤YYYYMMDD格式;
杨旭文和任娇真相3. 15到17位是顺序码,表⽰在同⼀地址码所标识的区域范围内,对同年、同⽉、同⽇出⽣的⼈编订的顺序号,顺序码的奇数分配给男性,偶数分
配给⼥性,即第17位奇数表⽰男性,偶数表⽰⼥性;
4. 第18位是校验码,采⽤ISO 7064:1983, MOD 11-2校验字符系统,计算规则下⼀章节说明。
⼀代⾝份证与⼆代⾝份证的区别在于:
1. ⼀代⾝份证是15位,⼆代⾝份证是18位;童声版流行歌曲
2. ⼀代⾝份证出⽣年⽉⽇采⽤YYMMDD格式,⼆代⾝份证出⽣年⽉⽇采⽤YYYYMMDD格式;
发布评论