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


感谢邀请!
小编是一名程序员 。曾经也做过身份证校验的接口工作 。游戏公司不会知道您的身份证号的 。您故意填错身份证最后一位 。肯定会校验错误的 。这个校验没有通过公安局等执法机构 。因为身份证末尾数字是可以根据前面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;
玩游戏进行身份认证的时候,故意填错身份证号的话,系统会知道是错误,为什么?

文章插图
所以 。您主动填错身份证号最后一位 。不用知道您的正确的身份证号也是可以校验出您填的身份证号是错误的 。
玩游戏进行身份认证的时候,故意填错身份证号的话,系统会知道是错误,为什么?

文章插图
些许拙见 。供您参考 。
从事互联网开发多年 。欢迎大家骚扰
其他观点:
身份证第十八位称为校验位 。可以根据前十七位算出 。校验位不正确的身份证过不了验证
像题主所说改了生日但其他都没动 。那么算出校验值就变了 。对应的第十八位也应该改变才行 。(要不然就说你身份证不正确)
\r校验位正确的身份证称为合法身份证 。但合法的身份证不一定都存在且有效 。
\r看到很多人说什么api啊 联网啊 公安啊 。都是验证身份证和姓名是否一致才用的上 。接口要花钱的而且信息返回并不及时 。所以在防沉迷验证时就算身份证不存在但校验位正确一般是可以通过的(比如网易的游戏) 。
因为调用接口要花钱所以在大部分地方都不会验证你的姓名和身份证是否一致 。而是根据算法判断身份证的合法性(合法的身份证不一定真实存在) 。
在关键的地方会施行 联网花钱验证身份证号和姓名是否一致(比如买电话卡)但在大部分公司看来防沉迷并不关键除了财大气粗的公司 。
其他观点:
玩游戏进行身份认证的时候 。故意填错身份证号的话 。系统会报错是为什么?
首先可以明确 。游戏公司是肯定不会知道我们的身份证号的 。
那么报错的缘由是什么呢?
玩游戏进行身份认证的时候,故意填错身份证号的话,系统会知道是错误,为什么?

文章插图
主要来自于两个方面的判定方式:
一、身份证是否符合构成规则 。
就和手机号、银行号、甚至学生学号一样 。身份证号也有他的构成规则 。而这些规则是公开的 。
因此即便游戏公司不知道我们的身份证号 。但是他可以通过这些规则来校验身份证号是否正确 。
玩游戏进行身份认证的时候,故意填错身份证号的话,系统会知道是错误,为什么?

文章插图
目前周知的身份证号的构成基本规则如下:
公民身份号码是特征组合码 。由十七位数字本体码和一位数字校验码组成 。其排列顺序从左至右依次为:六位数字地址码 。八位数字出生日期码 。三位数字顺序码和一位数字校验码 。
(具体的码的详细规则自行百度即可)
因此只要你随便输入的不符合上述基本规则 。自然可以判定身份证号是错误的 。
还是拿手机号举个例子 。我们都知道大陆手机的号码都是1开头的11位手机号 。因此如果我们随便输入个数字“390982374509827897698643” 。根据规则一看就知道不是手机号码了 。
二、身份证是否符合公安系统的验证 。
简单说就是 。游戏公司不知道你的身份证号 。警察叔叔知道啊 。

推荐阅读