用身份证校验规则验证身份证漏一位

一、知识点

工作中经常遇到身份证号的校验,下面是整理的内容,有第三方验证姓名和身份证是否是一个人的准确性。

根据《中华人民共和国国家标准GB 11643-1999》中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。顺序码的奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。

前1、2位数字表示:所在省(直辖市、自治区)的代码;

第3、4位数字表示:所在地级市(自治州)的代码;

第5、6位数字表示:所在区(县、自治县、县级市)的代码;

第7—14位数字表示:出生年、月、日;

第15、16位数字表示:所在地的派出所的代码;

第17位数字表示性别:奇数表示男性,偶数表示女性;

第18位数字是校检码:也有的说是个人信息码,不是随计算机的随机产生,它是 用来检验身份证的正确性。校检码可以是0—9的数字,有时也用x表示。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。X是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。

下面介绍算法。

先引入公式:

计算公式令结果为 Y,Y的计算公式为:Y = mod(S, 11)根据下表找出 Y 对应的校验码即为要求身份证号码的校验码C。

注意:Y = mod(S, 11) :除以11求余数

例如:假设某女性居民的

15位身份证号码是320105820927512,32表示江苏省,01表示南京市,05表示鼓楼区,820927表示1982年9月27日。512表示是该地区,其中2表示是女性。那么,升级为18位后的号码为32010519820927512C。下面就根据公式来计算C的值。

Y = mod(S, 11)=MOD(313,11)=5 

根据校验值对应表,可知C=7,该人员身份证号码为:

320105198209275127 

知识点原文链接:https://blog.csdn.net/lbPro0412/article/details/81662637

二、背景

家人出租场地给别人,跟一个开农业公司的老板签的租赁合同。这个老板贼得狠,签订合同的时候故意少写了一位身份证号码,而且家人也没有留他的身份证复印件。现在3个月不给租金了,说疫情期间生意不好,刚开始打电话过去还骂我们,后面就不接电话了。那既然无法协商,就只能通过法律手段了,我们只是希望他把租金结了,赶紧搬走,终止合同。但是去法院起诉需要对方的身份证信息,所以根据身份证校验规则,推断出了大概有4个身份证号码是符合校验规则的,最后试了很多手段,通过12306的身份证核验试出了正确的身份证号。

三、实践

有的时候处理小批量的数据可能execl会方便一些,因为excel也可以做一些简单的计算而无需调试程序。

下面流程的条件是,需要知道对方正确的姓名,性别,身份证号码是漏了1-2位。如果是完全乱写的身份证号码,可能不太适用。

A-R列为疑似的对方的18位身份证

S-AI列位为每一位身份证号码的加权值分别为7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

AJ列为计算余数的公式,公式为 =MOD((A2*S2+B2*T2+C2*U2+D2*V2+E2*W2+F2*X2+G2*Y2+H2*Z2+I2*AA2+J2*AB2+K2*AC2+L2*AD2+M2*AE2+N2*AF2+O2*AG2+P2*AH2+Q2*AI2),11)

AK为固定的数字根据下图,猜测对方的最后一位校验位就是为X,因为很少有人能吧身份证号码中的X写错了。所以对应的余数应该是2。

AL列为是否匹配X的公式,公式为=IF(AJ2=AK2,"ok","nok")

AM列判断身份证倒数第三位的是奇数还是偶数,奇数为男性,偶数为女性。公式为 =IF(MOD(Q2,2)=1,"男","女")

AN列为身份证加权和的结果工位为=A2*S2+B2*T2+C2*U2+D2*V2+E2*W2+F2*X2+G2*Y2+H2*Z2+I2*AA2+J2*AB2+K2*AC2+L2*AD2+M2*AE2+N2*AF2+O2*AG2+P2*AH2+Q2*AI2

其中根据身份证 中年月日的规则,可以推断出疑似的身份证号码大约有50个左右,然后根据推断最后一位是X,再根据EXCEL表格中的公式进行校验,最后AL列是OK的,而且是男性的只有4条记录匹配。最后使用12306添加常用联系人,只有一个号码匹配,确认就是被告人的号码。

四、事件进展

后面就是写诉讼状,提供证据材料之类的东西了。

起诉的时候需要注意的是,被告人打来任何电话都不要接,防止被告人发现被起诉后通过钓鱼的方式录音通话内容,收集一些对你不利的证据。

1万元以下的经济纠纷只需要50块钱的费用。我们前期是咨询了律师朋友的,然后后面都是自己操作。

8月初在法院小程序上提交的材料,然后法院的工作人员会确认是否立案,然后过了一个礼拜邮寄材料。开庭时间预计在9月初。目前还未开庭,但是我们的胜诉率应该是9成以上的。

四、事件结果

9月11日更新,

9月2日开庭,开庭的时候对方都没有到场,放弃了举证和辩论的权利,全程都是我们在举证,后面法官要求我们补充一些材料证明土地承包证,开工证之类的证明场地和建筑合法的文件。

庭审结束后第二天,

法院没有判决,在法庭调解了。

我们获得了预期的租金,并且对方在我们规定的时间搬走了。

需要注意的是,调解的时候需要在法院签字,否则对方做任何承诺都是没用的。

 本文连接:https://www.cnblogs.com/CryOnMyShoulder/p/13558046.html

原文地址:https://www.cnblogs.com/CryOnMyShoulder/p/13558046.html