你知道身份证是如何防伪的吗?

博主个人网站:http://www.dzyong.top

微信公众号:《前端筱园》

​今天我们来讲一个有意思的话题,我们的身份证是如何防伪的。

在身份证正面印有签发机关和有效日期。背面则有姓名、性别、民族、出生日期、住址、头像等信息,而最重要的就是身份证号

身份证号码如何定出来的?

身份证号码在你办理出生户口登记时就已经订好了,共有18位。可以把它们分为四段。

1-6位是地址码:根据中国的行政区代码,每两位一组,分别代表了你出生地点所在的省市县级行政区。

7-14位是出生日期码:代码表了你出生日期的年月日。

15-17位是顺序码:为什么要加入这个顺序码呢,因为同年同月同日同地出生的人不止一个,因此需要对他们进行一个顺序编号,防止重号。第17位用奇数表男性,偶数表女性。

18位:这位是校验码,也是最为重要的一位,他用来校验你的身份证号码是否真实准确,它通过1-17位共同计算得出。

如何校验?

中国大陆采用的是MOD 11-2 校验系统。身份证号码的每一位都有一个固定的权重系数,等于2的18-i 次方除以11的余数(i为各个号码的位数)。可以得到每一位的权重分(W)别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。

将前17位号码的数字与其对应的权重相乘后再相加得到数值S(本例结果为240)。

把得到的S除以11得到余数Y。

用12减去这个余数Y后再除以11得到的余数 J 就是校验码的数值,校验码的结果取值为0-10,这里的10我们会用罗马数字的10即X表示,这也就是为什么生活中看到很多人的身份证号码最后一位是X的原因了。

由于校验码是由前17位的数值通过计算得出的,因此,你如果在录入时,前面输错了任意一位,算出来的校验码与实际的无法匹配,那么这个号码就不能通过验证。

是否有漏洞?

这种校验方式也不是可以进行100%的进行校验的,如果前面出现了两位或两位以上的数字被替换时,那么是有可能计算出的校验码与实际是相同的。

所以如果想验证身份证号码是不是你本人,只单凭身份证号号码的数字进行校验是远远不够的。还需要身份证卡片本身的校验。

发布了72 篇原创文章 · 获赞 75 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/DengZY926/article/details/104610333