18位身份证号码含义及验证算法代码
18位的身份證號碼:450104197710101516
(1)1~6位為地區代碼,其中1、2位數為各省級政府的代碼(廣西為45),3、4位數為地、市級政府的代碼(南寧市為01),5、6位數為縣、區級政府代碼(西鄉塘區為04)。
(2)7~10位為出生年份(4位),如1977
(3)11~12位為出生月份,如10
(4)13~14位為出生日期,如10
(5)第15~17位為順序號,為縣、區級政府所轄派出所的分配碼,每個派出所分配碼位10個連續號碼,例如“150—159”,其中單數為男性分配碼,雙數為女性分配碼,如遇同年同月同日有兩人以上時順延第二、第三、第四、第五個分配碼。
(4)18位為效驗位(識別碼),通過復雜公式算出,普遍采用計算機自動生成。
?
介紹18位身份證號碼最后一位校驗碼的計算方法
公民身份號碼是特征組合碼,由十七位數字本體碼和一位校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。
校驗方法:
(1)十七位數字本體碼加權求和公式
S = Sum(Ai * Wi), i = 0, ... , 16 ,先對前17位數字的權求和
Ai:表示第i位置上的身份證號碼數字值
Wi:表示第i位置上的加權因子
Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
(2)計算模
Y = mod(S, 11)
(3)通過模得到對應的校驗碼
???? Y: 0 1 2 3 4 5 6 7 8 9 10
校驗碼: 1 0 X 9 8 7 6 5 4 3 2
下面是C程序代碼:
?
總結
以上是生活随笔為你收集整理的18位身份证号码含义及验证算法代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LiLeiHanMeiMei的隐式马尔可
- 下一篇: 《PR基础教程入门篇-学习笔记》-001