玩游戏进行身份认证的时候,故意填错身份证号的话,系统会知道是错误,为什么?

步履不停Can


小编是一名程序员,曾经也做过身份证校验的接口工作。游戏公司不会知道您的身份证号的。您故意填错身份证最后一位,肯定会校验错误的。这个校验没有通过公安局等执法机构,因为身份证末尾数字是可以根据前面17位数字计算而来的。

先说一下身份证号的基本构成。

第一位和第二位是您出生户口所在地的省级政府代码。

第三位和第四位代表您出生户口所在地的地、市级政府代码。

第五位和第六位是代表您出生户口所在地的县、区级政府代码。

而这些省、地、市、区、县的代码都是固定的,国家相关部门同意规定好的。从相关渠道可以获取到这些省、地、市的代码地址。

然后从第七位到第十四位就是您个人的出生年月。这个出生年月假如您不泄露,肯定只有您个人知道。

第十五位到第十七位代表您在出生地同年同月同日出生的一个顺序号。当然,身份证号的第十七位是比较特殊的,因为第十七位数字奇数代表您为男性,偶数代表您为女性。

至于第十八为数字就是一个校验码了。是由国家相关部门发布的的统一计算公式计算而来。

身份证号第十八位数字的计算方法是:

前面十七位数字分别乘以不同的系数,这个系数是:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。然后结果取和,除以11,得到余数。

根据余数去匹配对应的数字:1-0-X -9-8-7-6-5-4-3-2分别对于余数0到10;

所以,您主动填错身份证号最后一位,不用知道您的正确的身份证号也是可以校验出您填的身份证号是错误的。

<strong><strong>


些许拙见,供您参考。

从事互联网开发多年,欢迎大家骚扰


凯腾凯


身份证第十八位称为校验位,可以根据前十七位算出。校验位不正确的身份证过不了验证

像题主所说改了生日但其他都没动,那么算出校验值就变了,对应的第十八位也应该改变才行。(要不然就说你身份证不正确)

\r校验位正确的身份证称为合法身份证,但合法的身份证不一定都存在且有效。

\r看到很多人说什么api啊 联网啊 公安啊,都是验证身份证和姓名是否一致才用的上。接口要花钱的而且信息返回并不及时,所以在防沉迷验证时就算身份证不存在但校验位正确一般是可以通过的(比如网易的游戏)。

因为调用接口要花钱所以在大部分地方都不会验证你的姓名和身份证是否一致,而是根据算法判断身份证的合法性(合法的身份证不一定真实存在)。

在关键的地方会施行 联网花钱验证身份证号和姓名是否一致(比如买电话卡)但在大部分公司看来防沉迷并不关键除了财大气粗的公司。


W65301464


现在是数据化互联网时代,所有的信息和资料都是通过网络传递来完成的,个人身份信息也一样是可以通过网络信查询而完成的。

当然了,个人身份信息是受法律保护的,不是虽便就可以查询到的,只有经公安机关审核通过的政府机构和单位才有权进入个人身份信息系统,而媒体只所以能识别,那是经过公安机关审核认可的,所以你改动的错误数据经过系统识别对比就知道数据出现错误,过程大该就是这样。


与风互语


玩游戏进行身份认证的时候,故意填错身份证号的话,系统会报错是为什么?

首先可以明确,游戏公司是肯定不会知道我们的身份证号的。

那么报错的缘由是什么呢?

主要来自于两个方面的判定方式:

一、身份证是否符合构成规则。

就和手机号、银行号、甚至学生学号一样,身份证号也有他的构成规则,而这些规则是公开的。

因此即便游戏公司不知道我们的身份证号,但是他可以通过这些规则来校验身份证号是否正确。

目前周知的身份证号的构成基本规则如下:

公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。其排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。

因此只要你随便输入的不符合上述基本规则,自然可以判定身份证号是错误的。

还是拿手机号举个例子,我们都知道大陆手机的号码都是1开头的11位手机号,因此如果我们随便输入个数字“390982374509827897698643”,根据规则一看就知道不是手机号码了。

二、身份证是否符合公安系统的验证。

简单说就是,游戏公司不知道你的身份证号,警察叔叔知道啊。

现在公民身份信息是全国联网的,自从游戏防沉迷以来,游戏的实名认证自然也是归警察叔叔管的~~~

因此每一个在游戏中做实名认证的身份证,即便构成上符合规则,还是会到公安系统的数据库做个校验的。

就好像游戏公司向警察叔叔问了句“嗨,你们那里有这个人的记录吗?”

然后警察叔叔进小黑屋翻了翻档案记录,然后出来告诉游戏公司“查无此人”。

然后,你就看到报错咯~~~~

所以小结一下,游戏里填身份证报错,不是游戏公司知道你的身份证信息,而是你填入的身份证号可能不符合构成规则,或者未通过公安系统的校验而已。

(也就是说不要用身份证干坏事哟,警察叔叔看着的~~~括弧笑~~~)


闲云游戏观


无意中点进来了,答主这个回答算是最粘边的了,其实评论更有趣,大家在争论同一个解答却使用了不同的语法,所以大家都没看懂大家的意思。烟草来总结一下答案吧,其实很简单,首先,游戏服务器先通过算法校验,看看身分证号有否算错,因为不排除有不小心点到其它数字或者是小了(多了)一位数的情况,所以题主改动生日日期由于没去计算校验码,系统直接就提示错误了,注意了,在这个时候,系统仍未联网公安局api接口的,原因是成本,为校验一个错误的号码而付费了,那么竞争对手还不找一百几十个人不停的做错误注册,一天下来你公司就倒闭了吧!然后,大游戏公司确实需要对接公安局数据库校验身份真实性的,但绝大多数并不是实时校验,大部份是晚上空闲时间再集中校验的,所以很多APP的实名验证并不是马上通过,而是延后一两天,也有部份是采取先通过,后面校验有问题了再取消你的实名验证


烟草有毒and八月


网游公司用的都是算法。不是和公安联网的具体到每个人的身份信息。打个比方,你只要用别人的正确身份证,输入你自己的名字,照样可以通过防沉迷检测。但是万一你被盗号想找回的时候就比较麻烦了


雕刻丝光


游戏公司是不知道的,这只不过是程序员在做这个功能的时候,加上了身份证的校验!

身份证中的数字的解读

身份证号的前6位使用来判断持证人的户籍所属地的,如图:

所以,一般看一个人的身份证号的前6位,就知道这个人是哪个省份的。

第7-14位是本人的出生日期,不用多说。

第15-17位,这三位是顺序码!

这个码是县、区级政府所辖派出所的分配码,每个派出所分配码为10个连续的数。

比如:010-019 或者 030-039。

第17位,如果是单数,那么就是男性,反之,为女性。

比如:001是男性,002是女性。

第18位,也就是最后一位,是校验位,由0-9的数字组成。

有的人会是x,别以为错了,这其实是罗马数字里,10的意思!

第18位的作用是其实是为了校验一个身份证号码是不是正确的。

这里面有具体的一套算法,不是说随便改改就好了,所以,你改了最后一位,就会被检测出来,你这是个假的身份证。

也不是说改其他的就可以的,一样会被检测出来,除非运气好,碰上了。


「生活需要仪式感,从做一个互联网上的瘦子开始!看完别忘了点个赞,点个关注哦!」

月半程序员见闻



像腾讯,网易这种应该是借助一套防沉迷系统来实现的,像网易自己说的那样,流程是提交身份证号码和实名到公安系统进行验证,很有可能公安部公开了验证接口,因为好几年前不是有个网络游戏防沉迷暂行办法文件什么的么,具体也不太清楚。有些小平台游戏可能只是通过身份证验证算法进行校验的。


但无论如何一个公司是不可能掌握国民身份证数据的,这一点是可以肯定的。


小歪游神


你好 我是岩松 一名游戏领域创作人 很高兴能回答你的问题

身份证最后一位是校验码,是通过身份证前面17位计算出来的,网站不一定会校对身份证与名字,可绝大部分都会校对最后一位,随便填当然就知道你错了计算方法:

1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。

2、将这17位数字和系数相乘的结果相加。

3、用加出来和除以11,看余数是多少?

4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。(即余数0对应1,余数1对应0,余数2对应X...)

5、通过上面得知如果余数是3,就会在身份证的第18位数字上出现的是9。如果对应的数字是2,身份证的最后一位号码就是罗马数字X。

例如:某男性的身份证号码为【53010219200508011X】, 我们看看这个身份证是不是合法的身份证。

首先我们得出前17位的乘积和【(5*7)+(3*9)+(0*10)+(1*5)+(0*8)+(2*4)+(1*2)+(9*1)+(2*6)+(0*3)+(0*7)+(5*9)+(0*10)+(8*5)+(0*8)+(1*4)+(1*2)】是189,然后用189除以11得出的结果是189÷11=17余下2,187÷11=17,还剩下2不能被除尽,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的检验码是X。所以,可以判定这是一个正确的身份证号码。


岩松懒得想名字


现在有和公安或身份证等联网的验证系统,游戏公司不知道你填的信息发给验证系统,验证系统回复就可以了。


分享到:


相關文章: