好多网络上的朋友都提到我想要个身份证号码,因为现在好多会员注册啊或者身份合适都需要用到,有时候不想用自己的身份证号码,更或者自己已经注册了一个还想用别的身份证号码再去注册一个的时候,就会遇到这个问题,今天我找了下。
先发个18位身份证和组织机构代码校验ORACLE函数
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确规定。
GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称“社会保障号码”更名为“公民身份号码”,另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。
公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其含义如下:
1. 地址码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。
2. 出生日期码:表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日分别用4位、2位、2位数字表示,之间不用分隔符。
3. 顺序码:表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
校验的计算方式:
1. 对前17位数字本体码加权求和
公式为:S = Sum(Ai * Wi), i = 0, ... , 16
其中Ai表示第i位置上的身份证号码数字值,Wi表示第i位置上的加权因子,其各位对应的值依次为: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2. 以11对计算结果取模
Y = mod(S, 11)
3. 根据模的值得到对应的校验码
对应关系为:
Y值: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
15位的身份证号
dddddd yymmdd xx p
18位的身份证号
dddddd yyyymmdd xx p y
其中dddddd为地址码(省地县三级)18位中的和15位中的不完全相同
yyyymmdd yymmdd 为出生年月日
xx顺号类编码
p性别
18位中末尾的y为校验码,在网上可以找到算法
(1)、前两个数字代表省份编码。如:32表示江苏省,34代表安徽省……
(2)、第3、4位上的数字代表市级编码。如:01代表南京市,05代表苏州市……
(3)、第5、6位上的数字代表区或县编码。如:02代表玄武区,11代表浦口区……
(4)、在第7-14位上行政区代码后的数字表示某个人的出生年月。提问:“为什么2月要用02来表示而不用2来表示呢?”(用0来占位可以统一位数。)
(5)、出生年、月、日后面的两个数字表示居住地所在的派出所编码。如阳沟街所在的号码是04。
(6)、老身份证的最后一位,新身份证的倒数第二位数表示性别。提问:哪些数字表示男性?(1、3、5、7、9这样的单数表示男性)。哪些数字表示女性?(0、2、4、6、8这样的双数表示女性)。
(7)、新身份证的最后一位是前面17个数字按一定的公式加减乘除得来的,作为个人信息编码,有的也用X来表示。目的是为了进一步防伪,至于计算公式,只有公安机关内部才知道
本资料从网上多处说明整理而来。
18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确规定。
GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称“社会保障号码”更名为“公民身份号码”,另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。
公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其含义如下:
1. 地址码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。
2. 出生日期码:表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日分别用4位、2位、2位数字表示,之间不用分隔符。
3. 顺序码:表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
校验的计算方式:
1. 对前17位数字本体码加权求和
公式为:S = Sum(Ai * Wi), i = 0, ... , 16
其中Ai表示第i位置上的身份证号码数字值,Wi表示第i位置上的加权因子,其各位对应的值依次为: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2. 以11对计算结果取模
Y = mod(S, 11)
3. 根据模的值得到对应的校验码
对应关系为:
Y值: 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
关于18位身份证号码尾数是“X”的解释
居民身份证的号码是按照国家的标准编制的,由18位组成:前六位为行政区划代码,第七至第十四位为出生日期码,第15至17位为顺序码,第18位为校验码。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位,而19位的号码违反了国家标准,并且我国的计算机应用系统也不承认19位的身份证号码。Ⅹ是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。但是我国的居民身份证在升位后,一些人的尾号变成了X,这部分人在工作生活中,例如去银行存取钱、去汽车公司租赁汽车或者报名参加考试等等过程中,往往不被检验者理解,认为是假身份证,这样的误会给很多人的生活带来不便。公安局的同志希望领到X身份证的同志正确理解这个数字的含义,查验身份证的机关和单位更应该清楚这一点。
根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
★ 地址码含义
身份证前六位是地区代码,代码的解释规则如下:
ABCDEF
A:国内区域
1 华北 三省二市
2 东北 三省
3 华东 六省一市
4 华南 六省
5 西南 四省一市
6 西北 五省
7 台湾
8 港澳
★ 校验码计算方法
下面举例说明校验码的计算方法。
15位的身份证编码首先把出生年扩展为4位,简单的就是增加一个19,但是这对于1900年出生的人不使用(这样的寿星不多了)
某男性公民身份号码本体码为34052419800101001,
根据上表,查出计算结果为2的校验码为所以该人员的公民身份号码应该为 34052419800101001X。
组织机构代码是每一个机关、社会团体、企事业单位在全国范围内唯一的、始终不变的法定代码标识。
最新使用的组织机构代码在1997年颁布实施,由8位数字(或大写拉丁字母)本体代码和1位数字(或大写拉丁字母)校验码组成。本体代码采用系列(即分区段)顺序编码方法。
本来还想要发个身份证号码生气工具,但网上一查,已经被封了,在中国还是安全第一。
填上出生年月,选择所在的地区、性别,系统马上生成几百个身份证号码。
近日,一种名为“身份证号码生成器”的软件在网络上非常流行,可瞬间生成500个身份证号码。通过一些身份证查询的服务性网站核实,发现这些身份证号码竟然都显示有效。除了自动生成号码功能外,这款软件还能够把15位的身份证号码升级为18位,记者输入自己的老身份证号码,点击“升位”键后,马上生成了一个18位的号码,经过网站验证,也显示为有效的身份证号码。(来源:河南商报)
本人键入“身份证号码生成器”发现不仅有大陆的,还有韩国的,台湾的,在网络实名来势汹汹的情况下,“身份证号码生成器”成了“上有政策,下有对策”又一大经典案例。连同葫芦岛“M Y玩偶”一起成了民众的创造性维权经典。
可笑的是这些“来自人民群众的生活创造”,并不是为了科技的发展,而是为了人性为了维权。当色情玩偶堵住了道德的外衣,当“身份证号码生成器”架空网络实名的时候,我看见的不是“发明创造”的快感,而是大批的普通群众包围自己仅有的领地的艰辛。如果法规受到多数人的抵制,法规执行的成本过高时,它是不是应该考虑自己在谁的立场?是站在人性的立场?多数人的立场?还是和人民对立的立场。
有人说是钻法律的空子,我想这个空子既不能为人民带来权力又不能为人民带来财富,如果没有那种公权频频对私权的滥用的,人民又何必在狗洞一样的空子里钻来钻去。
玩偶M Y与“身份证号码生成器”到底是维权的呐喊,还是立法者的耻辱!



