金融支付:身份證號碼的編碼規則

在進行互聯網產品設計時,尤其是互聯網金融產品,實名認證是很重要的環節。今天和大家聊聊一個很容易被忽視的話題:身份證號碼的編制規則,以及在產品中的應用。

一、編碼格式

1999年我國頒發了第二代居民身份證號,公民身份號碼為18位,且終身不變,一代居民身份證編號是15位,已經基本淘汰,本文不作討論。

居民身份證格式如:ABCDEFYYYYMMDDXXXR

?地址碼(ABCDEF):表示登記戶口時所在地的行政區劃代碼(省、市、縣),如果行政區劃進行了重新劃分,同一個地方進行戶口登記的可能存在地址碼不一致的情況。行政區劃代碼按GB/T2260的規定執行。

?出生日期碼(YYYYMMDD):表示該居民的出生年月日,年4位數字,月和日分別用2位數字表示,如19491001,;出生日期碼是按GB/T 7408的規定執行的。

?順序碼(XXX)表示同一地址碼區域內,同年、同月、同日生的人所編訂的順序號,根據自己身份證的順序碼就可以知道:與我們同年同月同日生的同性至少有多少個,且在我們之前登記戶籍的有多少人。身份證順序碼的奇數分配給男性,偶數分配給女性。這就是為什么倒數第二位奇數表示男生,偶數表示女生。

?校驗碼(R):R之前的17位被稱為本體碼,R是根據本體碼,按照校驗碼算法(ISO 7064:1983,MOD 11-2校)計算出來的。當我們輸入身份號碼進行實名認證的時候,根據校驗碼算法可以初步判斷你輸入身份證號碼格式是否正確。

其中999、998、997、996是分配給百歲老人的,大家可以思考一個問題,極端情況下如果同一行政代碼區域內,同一天出生的人數超過1000人順序碼該怎么編制?

二、校驗碼算法

將本體碼各位數字乘以對應加權因子并求和,除以11得到余數,根據余數通過校驗碼對照表查得校驗碼。

加權因子:

(本體碼每個位置對應的加權因子)

校驗碼表:

(每個余數對應的校驗碼)

舉例:

某公民的身份證號碼是34052419800101001X

第一步:本體碼乘以加權因子:

3*7+4*9+0*10+……0*4+1*2=189

第二步:計算求和后除以11的余數

189%11=2

第三步:在檢驗碼中查詢余數對應的檢驗碼

2所對應的校驗碼是X,注意X必須大寫

大家可以根據此算法驗證自己的身份證號碼。

三、編碼規則的應用

當我們設計產品的實名認證的環節時,就是根據身份證號碼的編碼規則,來驗證用戶輸入的身份證號格式的有效性。可驗證的信息如下:

基礎信息驗證:

1. 驗證身份證號碼長度是否為18位

2. 根據校驗碼算法判斷用戶輸入的身份證號碼內容是否有誤,避免用戶輸入錯誤,也可以判斷用戶是否為胡亂填寫

3.身份證號碼最后一位校驗碼如果是X,必須大寫

4. 獲取用戶的出生日期,判斷用戶是否滿18歲(經常被忽視)

只有以上信息驗證通過時,才有進一步驗證實名認證信息真實性的必要。因為調用一次實名接口不管成功失敗與否都是需要付費的,不同服務商價格不同,一般每調用一次需要2-5元不等。既保證了用戶體驗又為公司節省了成本。

另外,還可以選擇性獲得以下信息:

1. 根據地址碼獲取用戶的戶籍所在地信息

2. 判斷用戶的性別,順序碼奇數為男性,偶數為女性

作者簡介:本人為互聯網金融公司產品經理一枚,先后負責了公司第三方支付資金存管系統對接和銀行資金存管系統的對接。接下來我將更新【金融支付】系列文章,分享自己的項目經歷,希望能給大家帶來價值。

歡迎關注我的個人公眾號:威理(ID:weili201608) 交流互聯網金融支付產品設計。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,963評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,348評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,083評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,706評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,442評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,802評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,795評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,983評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,542評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,287評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,486評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,030評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,710評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,116評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,412評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,224評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,462評論 2 378

推薦閱讀更多精彩內容