导航:首页 > 源码编译 > 身份证校验码算法

身份证校验码算法

发布时间:2022-09-01 06:09:27

A. 如何计算身份证号码的校验码

如何计算身份证号码的校验码
身份证第18位(校验码)如何计算
大家可能很少会计算身份证第18位的校验码的吧?就让大家了解了解以备不时之需吧!
方法
1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。然后将这17位数字和系数相乘的结果相加
2.用加出来的和除以11,看余数是多少,余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X
-9-8-7-6-5-4-3-2。

3.通过上面得知如果余数是3,就会在身份证的第18位数字上出现的是9。如果对应的数字是10,身份证的最后一位号码就是罗马数字x。大概的方法就是这样了。

B. 身份证校验码计算公式是什么

校验码是根据前面十七位数字码。

具体的公式举例说明为:

某男性公民身份号码本体码为34052419800101001,首先按照公式计算:∑(ai×Wi)(mod11),其中,i表示号码字符从右至左包括校验码在内的位置序号;




这4个的前2个代表着我们身份证的派出所的代码,那么接着的是1个数字是根据性别来定的,奇数代表的是男性的身份证,偶数代表的是女性的身份证,最后一个数字就是我们今天的重点,有的是数字,有的人是“X”。

(2)身份证校验码算法扩展阅读:

对于我们的身份证,其实还有个讲究的,就是我们身份证倒数的后两位数字,其实用来区分男女性别的,倘若你细心可以发现这个数字是奇数的,那个身份证的人就是男性,反之便是女的。

此外,我们生日数字后面那4位,最后两个已经解释了是怎么一回事了,另外的那两个数字便是我们所出生那时的顺序,是以出生的地方为标准的呢,所以其实我们的身份证可是很有讲究的。

C. 身份证的最后一位的效验码的公式是什么(简单一点的公式)

公民身份号码是由17位数字码和1位校验码组成。排列顺序从左至右分别为:6位地址码,8位出生日期码,3位顺序码和1位校验码。
地址码(身份证地址码对照表见下面附录)和出生日期码很好理解,顺序码表示在同一地址码所标识的区域范围内,对同年同月同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
身份证最后一位校验码算法如下:
1.
将身份证号码前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这些个数字,其对应的身份证最后一位校验码为1
0
X
9
8
7
6
5
4
3
2。
校验码计算公式:
公式①中:
i
表示号码字符从由至左包括校验码在内的位置序号;
Ai
表示第i位置上的号码字符值;
Wi
示第i位置上的加权因数。
加权因数的集合为{7,
9,
10,
5,
8,
4,
2,
1,
6,
3,
7,
9,
10,
5,
8,
4,
2,
1}
v={1,
0,
X,
9,
8,
7,
6,
5,
4,
3,
2}
最后一位的校验位就是集合v中的第m个元素的值。
下面举例算一个:
随便一个号码,如济南市市辖区的某位出生于1901年02月03日的男性公民身份号码前11位(也就是本体码)为37010119010203997,首先按照公式⑴计算:
然后根据计算的结果,从集合v中查出相应的校验码,其中X表示10:
根据集合v,查出计算结果为9的校验码3为所以该人员的公民身份号码应该为
370101190102039973。
说下余数的算法。
一、两个异号整数求余
1.函数值符号规律(余数的符号)
mod(负,正)=正
mod(正,负)=负
结论:两个整数求余时,其值的符号为除数的符号。
2.取值规律
先将两个整数看作是正数,再作除法运算
①能整除时,其值为0
②不能整除时,其值=除数×(整商+1)-被除数
例:mod(36,-10)=-4
即:36除以10的整数商为3,加1后为4;其与除数之积为40;再与被除数之差为(40-36=4);取除数的符号。所以值为-4。
二、两个小数求余
取值规律:
被除数-(整商×除数)之后在第一位小数位进行四舍五入。
例:mod(9,1.2)=1
即:9除1.2其整商为7;7与除数1.2之积为8.4;8.4四舍五入之后为8;被除数9与8之差为1。故结果为1。
例:mod(9,2.2)=0
即:9除2.2其整商为4;4与除数2.2这积为8.8;8.8四舍五入之后
为9;被除数9与之差为0,故结果为0.

D. 身份证的校验码 是怎样计算的

校验码
(身份证最后一位)是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位,而19位的号码违反了国家标准,并且我国的计算机应用系统也不承认19位的身份证号码。Ⅹ是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。

E. 身份证号码的最后一位校验码是怎么计算出来的

先将身份证前面的17位数分别乘以不同的系数,然后将每一个相乘的结果相加,用所得之和除以11,看余数是多少,余数是0--9尾数就是0-9,如果余数是10,那么身份证的第18位数字就用罗马数字的【χ代替】。

因为是10的话就有19位数字了,与身份证号码十八位数的国家标准不相符合。因为是10的话就有19位数字了,与身份证号码十八位数的国家标准不相符合。

X:英语中第24个字母。X 表示未知、无限,X 还有“目标”和“希望”,X 在社会学界表示“完美”,千言万语都可以用 X 来传递。数学中 X 在方程中通常表示未知数的值。在罗马数字中,X 表示十。

(5)身份证校验码算法扩展阅读:

身份证号码18位数字其表示的含义分别为:

第1、2位, 所在省份的代码;

第3、4位 :所在城市的代码;

第5、6位:所在区县的代码;

第7——14位 :出生年、月、日

(7、8、9、10位是年,11、12位是月,13、14位是日);

第15、16位 :所在地派出所的代码;

第17位 :奇数1、3、5、7、9表示男性,偶数2、4、6、8表示女性;

第18位:校检码:为0——9数字,或者罗马数字χ表示。

F. 身份证号最后一位数字称之为校验码,校验码的计算方式是怎样的

按照相关规定,身份号是由17个数字和1个数字校验码组成的。而最后一位校验码,就是检查身份证是否正确的主要依据。它的计算方法,主要是由前17位乘以不同的系数,最后的总和除以11。在这种情况下,得到的余数,就是校验码。

那么我们在反推的时候,就可以用身份证号乘于系数,当最后得出的余数和末尾校验码不同时,就代表这个身份证,是一个假的身份证,不符合我们国家的标准。另外,余数对应的数字不同,并不是说余数就一定是最后一位身份证号码。

3、为什么除以11

看到整个计算过程,我们会发现,想要得出校验码,并非一件易事。不过在计算中,有人可能会提出疑问,最终的除以为什么是取11,而不是其他数字。

其实这个问题的答案很简单,结合校验码的功能,11是最容易检测出问题的存在。同时,它可以覆盖到大多数身份证,方便进行校验。毕竟一个国家人口众多,校验码要做到尽可能覆盖所有人。

G. 身份证验证码怎么计算

身份证是没有验证码的
只有身份证办理业务的时候才有的
这个就是会有验证码发到你的手机上面的

H. 身份证校验码是怎样计算的

我自己做了个EXCEL表格来进行校验码计算
里面有算法
你要是需要可以给我你的邮箱,我发过去
你要是只想知道算法,我就简单告诉你
校验码作为第1位(这里按照18、17、16...1
进行号码排列),它生成不是随机的,而是通过前17位的计算得出
具体算法是
前17位分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,然后进行ξ和,也就是结果相加;得到的数据模除11(也就是除以11,取其余数),得出0到10共11个数字,然后分别对照1,0,X,9,8,7,6,5,4,3,2进行替换,这便是最终的校验码。
举个例子:34052419800101001X
当你不知道最后一位时,也就是
34052419800101001
前17位的乘积和(就是分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2再求和)是189
,再除以11,余数为2
此时,对照1,0,X,9,8,7,6,5,4,3,2的第三位(从0到10顺序替换)
得到校验位为X。

I. 身份证校验码是怎样计算的

我自己做了个EXCEL表格来进行校验码计算
里面有算法
你要是需要可以给我你的邮箱,我发过去

你要是只想知道算法,我就简单告诉你

校验码作为第1位(这里按照18、17、16...1 进行号码排列),它生成不是随机的,而是通过前17位的计算得出

具体算法是 前17位分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,然后进行ξ和,也就是结果相加;得到的数据模除11(也就是除以11,取其余数),得出0到10共11个数字,然后分别对照1,0,X,9,8,7,6,5,4,3,2进行替换,这便是最终的校验码。

举个例子:34052419800101001X 当你不知道最后一位时,也就是
34052419800101001
前17位的乘积和(就是分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2再求和)是189 ,再除以11,余数为2
此时,对照1,0,X,9,8,7,6,5,4,3,2的第三位(从0到10顺序替换) 得到校验位为X。

J. 身份证号码尾号的校验码是由什么公式计算出来的

校验码是根据前面十七位数字码,按照ISO
7064:1983.MOD
11-2校验码计算出来的检验码。
具体的公式举例说明为:
某男性公民身份号码本体码为34052419800101001,首先按照公式计算:∑(ai×Wi)(mod
11),其中,i表示号码字符从右至左包括校验码在内的位置序号;
a[i]表示第i位置上的号码字符值;
W[i]示第i位置上的加权因子,其数值依据公式
W[i]
=
2^(i-1)
mod
(11)计算得出。
则,设R=∑(a[i]×W[i])(mod
11)
=
2,同时R的值【0
1
2
3
4
5
6
7
8
9
10】对应取值为【1
0
X
9
8
7
6
5
4
3
2】。
计算结果为2的校验码为X,所以该人员的公民身份号码应该为
34052419800101001X。
(10)身份证校验码算法扩展阅读:
身份证号码的结构和形式:
1、号码的结构:公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
2、地址码:表示编码对象常住户口所在县(县级市、旗、区)的行政区划代码,按GB/T2260的规定执行。
3、出生日期码:表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。
4、顺序码:表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
5、校验码:根据前面十七位数字码,按照ISO
7064:1983.MOD
11-2校验码计算出来的检验码。
参考资料来源:网络-身份证号码
参考资料来源:网络-身份证校验位

阅读全文

与身份证校验码算法相关的资料

热点内容
在单片机中有哪些显示器 浏览:789
我的世界如何在服务器里设置货币 浏览:591
酷猫系统如何安装app 浏览:636
邮寄服务器是干什么用 浏览:159
解除电脑加密文件夹 浏览:358
androidcheckbox组 浏览:546
linux在线安装软件 浏览:823
如何设置手机安卓版 浏览:285
简历pdfword 浏览:123
锋云视频服务器网关设置 浏览:162
linux服务器如何查看网卡型号 浏览:142
加密相册误删了怎么恢复 浏览:380
安卓代练通怎么下载 浏览:518
知道域名如何查询服务器 浏览:907
方舟手游怎么才能进服务器 浏览:289
抖音算法自动爆音 浏览:24
linux修改网卡配置 浏览:913
云服务器和本地服务器数据 浏览:843
在家如何创业python 浏览:225
编译原理好课 浏览:718