2007-04-08
身份证引发的讨论
跟同事聊天的时候得知他的身份证号跟别人重号了,而他的身份证恰巧又丢了,所以带来了很多麻烦,正在考虑如何补办的问题,同时引发我们的一次讨论。
说身份证应该每个人的都不一样,应该是主键才对,为什么会重呢?至少也应该设置一个唯一键的约束吧,比好比自己的mail做主键不就是很好的解决吗。我考虑之后想大概是这样的,中国人都知道原来的身份证是15位的,后来才升级到了18位,原来的时候设计明显有缺陷,可能那时候觉得同一个地方同一天的人超过100岁的人不会超过999人吧(忽略性别),而且主键肯定不是用的身份证号,后来18位之后由原来的出生日期只有后两位增加到了4位,末尾加了个机验码,虽然我也不知道最后这个码的用处。现在应该是可以避免重复了,但是由于数据库中已经有很多身份证重复所以身份证这个字段是不可以加唯一约束的,可以推断出15位时的老身份证也没有唯一约束,也许数据库设计的时候有这个键,但是重复身份证的人太多了,没有办法在短时间处理,只好出此下策了。
总之在电视上也见过身份证重号有多么麻烦,希望大家没碰见这种事。
评论
Puras
2007-04-10
俺的第一个身份证连姓都给弄错了
不知道办身份证的人是否认识字哦......
不知道办身份证的人是否认识字哦......
linyuran
2007-04-10
说到身份证的事情我就上火,
愚人节那天派出所的人打电话给我,
说我的行政区划错误,叫我去办理;
我当时还以为谁跟我开玩笑呢,
然后我还打电话确认了一遍;
周五到派出所,那的人叫我重新办理身份证,
说估计是我们那得行政区划不存在了,真是弄不明白,
还把原来家里面的行政区划换成了这边的,
开了张证明说我以前的号码和现在的号码是一个人,
超级郁闷;从大学到现在,不到5年的时间里面,我都换了3次身份证了,
呵呵,不过昨天上午派出所的人打电话说,接到上级的指示,
已经办了第2代身份证的,由于错误,那20元钱就不要了,
感觉我还得感谢他们,真弄不明白,
中国的公务员们是怎么办事情地?
愚人节那天派出所的人打电话给我,
说我的行政区划错误,叫我去办理;
我当时还以为谁跟我开玩笑呢,
然后我还打电话确认了一遍;
周五到派出所,那的人叫我重新办理身份证,
说估计是我们那得行政区划不存在了,真是弄不明白,
还把原来家里面的行政区划换成了这边的,
开了张证明说我以前的号码和现在的号码是一个人,
超级郁闷;从大学到现在,不到5年的时间里面,我都换了3次身份证了,
呵呵,不过昨天上午派出所的人打电话说,接到上级的指示,
已经办了第2代身份证的,由于错误,那20元钱就不要了,
感觉我还得感谢他们,真弄不明白,
中国的公务员们是怎么办事情地?
叶子
2007-04-09
ddandyy 写道
有身份证的时候
有数据库表么?
有数据库表么?
88年办的第一代身份证吧,那个时候有数据库表了...
ddandyy
2007-04-09
另外计算机信息管理那类的部门 也是归公an管的吧
最少我们那是这样的
最少我们那是这样的
ddandyy
2007-04-09
有身份证的时候
有数据库表么?
有数据库表么?
叶子
2007-04-09
信息产业部就看着这个肥水没有要?没斗争过。。?
ray_linn
2007-04-09
叶子 写道
另外我很好奇为什么杀毒软件要公an部鉴定...直觉上应该规信息产业相关的部门管理啊。。。
审批权=索贿权
叶子
2007-04-09
zjxiongmao 写道
叶子 写道
很好奇楼上的室友将来怎么登记结婚...=___=
找个身份证上性别错写成男的老婆。。。
over。。。
将来生孩子怎么办...看着个身份证上男的进产房?
叶子
2007-04-09
另外我很好奇为什么杀毒软件要公an部鉴定...直觉上应该规信息产业相关的部门管理啊。。。
metaphy
2007-04-09
kao
一帮白痴连个身份证号都搞不好,还tmd整天大国强国
一帮白痴连个身份证号都搞不好,还tmd整天大国强国
zjxiongmao
2007-04-09
叶子 写道
很好奇楼上的室友将来怎么登记结婚...=___=
找个身份证上性别错写成男的老婆。。。
over。。。
叶子
2007-04-09
很好奇楼上的室友将来怎么登记结婚...=___=
ray_linn
2007-04-09
因为两套标准没有统一啊,第一套标准规定的是15位数字,第二套是是数字+字母...
我同室友,性别直接别写成女...
我同室友,性别直接别写成女...
抛出异常的爱
2007-04-09
叶子 写道
foxty 写道
我自己就遇到过这种事情.
主要是因为以前身份证号全部都是手工维护造成的.
上次搜了一下,全国身份证充号的大概有几千万人.甚至还有三个人同号的.
重号害人不浅...
主要是因为以前身份证号全部都是手工维护造成的.
上次搜了一下,全国身份证充号的大概有几千万人.甚至还有三个人同号的.
重号害人不浅...
重号的没有几千万这么多的
主要原因还是开始办身份证时候(80年代末期),乡下甚至县级市都还不是计算机管理的,是人工编制所以才有重号,我还见过身份证是手写不是机打的。
那个时候登记是一塌糊涂,我老爸生日搞错,我老妈的姓也错了(可惜现在改都没办法了,好在读音一样也不在意了)
重号的几率很小的,因为前面的省县都一样,年月再一样,最后编号再一样才行。
不过奇怪的是现在都18位了,也都联网了,为何不主动检查出重号的人给他们换了呢
另:我的最后一位就是X,nnd忘记哪个银行了,身份证不能有字母的,害得我是用15位办的卡
要用字母都用字母去。。。
叶子
2007-04-08
foxty 写道
我自己就遇到过这种事情.
主要是因为以前身份证号全部都是手工维护造成的.
上次搜了一下,全国身份证充号的大概有几千万人.甚至还有三个人同号的.
重号害人不浅...
主要是因为以前身份证号全部都是手工维护造成的.
上次搜了一下,全国身份证充号的大概有几千万人.甚至还有三个人同号的.
重号害人不浅...
重号的没有几千万这么多的
主要原因还是开始办身份证时候(80年代末期),乡下甚至县级市都还不是计算机管理的,是人工编制所以才有重号,我还见过身份证是手写不是机打的。
那个时候登记是一塌糊涂,我老爸生日搞错,我老妈的姓也错了(可惜现在改都没办法了,好在读音一样也不在意了)
重号的几率很小的,因为前面的省县都一样,年月再一样,最后编号再一样才行。
不过奇怪的是现在都18位了,也都联网了,为何不主动检查出重号的人给他们换了呢
另:我的最后一位就是X,nnd忘记哪个银行了,身份证不能有字母的,害得我是用15位办的卡
codeutil
2007-04-08
楼主首先要了解身份证的编码规则,才不止于瞎推测原因,
身份证号码重复的必要条件有:
1.前六位是同一个行政区划。 (行政区划代码在 政府门户上: http://www.stats.gov.cn/tjbz/xzqhdm/t20041022_402267778.htm)
1.生日段在同一个日期。
3.同一个派出所
4.同性别
5.不同家庭
在同一个家庭如果是六胞胎且均为男婴的情况下,按编码规则,也会产生重复号码。
(1)前1、2位数字表示:所在省份的代码;
(2)第3、4位数字表示:所在城市的代码;
(3)第5、6位数字表示:所在区县的代码;
(4)第7~14位数字表示:出生年、月、日;
(5)第15、16位数字表示:所在地的派出所的代码;
(6)第17位数字表示性别:奇数表示男性,偶数表示女性;
我国现行使用公民身份证号码有两种尊循两个国家标准,〖GB 11643-1989〗和〖GB 11643-1999〗。
〖GB 11643-1989〗中规定的是15位身份证号码:排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。
〖GB 11643-1999〗中规定的是18位身份证号码:公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。
生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。
顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。
校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
公式如下:
∑(a[i]*W[i]) mod 11 ( i = 2, 3, ..., 18 ) (1)
"*" 表示乘号
i--------表示身份证号码每一位的序号,从右至左,最左侧为18,最右侧为1。
a[i]-----表示身份证号码第 i 位上的号码
W[i]-----表示第 i 位上的权值 W[i] = 2^(i-1) mod 11
计算公式 (1) 令结果为 R
根据下表找出 R 对应的校验码即为要求身份证号码的校验码C。
R 0 1 2 3 4 5 6 7 8 9 10
C 1 0 X 9 8 7 6 5 4 3 2
由此看出 X 就是 10,罗马数字中的 10 就是X,所以在新标准的身份证号码中可能含有非数字的字母X。
身份证号码重复的必要条件有:
1.前六位是同一个行政区划。 (行政区划代码在 政府门户上: http://www.stats.gov.cn/tjbz/xzqhdm/t20041022_402267778.htm)
1.生日段在同一个日期。
3.同一个派出所
4.同性别
5.不同家庭
在同一个家庭如果是六胞胎且均为男婴的情况下,按编码规则,也会产生重复号码。
(1)前1、2位数字表示:所在省份的代码;
(2)第3、4位数字表示:所在城市的代码;
(3)第5、6位数字表示:所在区县的代码;
(4)第7~14位数字表示:出生年、月、日;
(5)第15、16位数字表示:所在地的派出所的代码;
(6)第17位数字表示性别:奇数表示男性,偶数表示女性;
我国现行使用公民身份证号码有两种尊循两个国家标准,〖GB 11643-1989〗和〖GB 11643-1999〗。
〖GB 11643-1989〗中规定的是15位身份证号码:排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。
〖GB 11643-1999〗中规定的是18位身份证号码:公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
地址码表示编码对象常住户口所在县(市、旗、区)的行政区划代码。
生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。
顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。
校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
公式如下:
∑(a[i]*W[i]) mod 11 ( i = 2, 3, ..., 18 ) (1)
"*" 表示乘号
i--------表示身份证号码每一位的序号,从右至左,最左侧为18,最右侧为1。
a[i]-----表示身份证号码第 i 位上的号码
W[i]-----表示第 i 位上的权值 W[i] = 2^(i-1) mod 11
计算公式 (1) 令结果为 R
根据下表找出 R 对应的校验码即为要求身份证号码的校验码C。
R 0 1 2 3 4 5 6 7 8 9 10
C 1 0 X 9 8 7 6 5 4 3 2
由此看出 X 就是 10,罗马数字中的 10 就是X,所以在新标准的身份证号码中可能含有非数字的字母X。
foxty
2007-04-08
我自己就遇到过这种事情.
主要是因为以前身份证号全部都是手工维护造成的.
上次搜了一下,全国身份证充号的大概有几千万人.甚至还有三个人同号的.
重号害人不浅...
主要是因为以前身份证号全部都是手工维护造成的.
上次搜了一下,全国身份证充号的大概有几千万人.甚至还有三个人同号的.
重号害人不浅...
eastviking
2007-04-08
不幸的是我的老身份证也丢了
呵呵,并且是学校出来后没有落户
结果,费尽周折领了一个新证,只比弟弟大三个月
公安局那帮废物居然还说是合理的
呵呵,并且是学校出来后没有落户
结果,费尽周折领了一个新证,只比弟弟大三个月
公安局那帮废物居然还说是合理的
- 浏览: 36091 次
- 性别:

- 来自: 济南

- 详细资料
搜索本博客
我的相册
传说中的奶牛
共 14 张
共 14 张
最近加入圈子
链接
最新评论
-
使用javaeye的登陆效果
.. 请问,登陆成功后,怎么跳到原来的页面呢?
-- by east_java -
ibatis自动生成的主键
跟官方文档一样,没新意。
-- by fori -
激情之夜
中国3:0轻松取胜 汉密尔顿和阿隆索包揽冠亚军 可惜的就是巴萨虽然5:1赢得了比 ...
-- by 小嘴看世界 -
使用javaeye的登陆效果
在2000操作系统上怎么不行啊?
-- by javaEye_good -
使用javaeye的登陆效果
用window如何做?兄弟 给个例子阿 zhaozhenhua1213@126. ...
-- by javaEye_good






评论排行榜