PJzhang:今天才搞清身份證、銀行卡……的編碼規則

貓寧!!!html

 

 
以前思考過常見證件的編碼規則,抽空查了一下,發現挺有意思。
 
通常查詢證件或者手機號歸屬地都是直接百度小工具,可是背後的查詢機制如何,可能大多人不甚瞭解。
 
介紹幾種生活中最多見的幾串數字。
 
手機號:188 6450 0763(某詐騙電話)
 
中國大陸的國際電話區號是+86(國家碼),上面號碼開頭的188(移動接入碼)隸屬於中國移動的號段,目前中國移動的號段最多,聯通次之,電信最少。衛星通訊的開頭號段是1349,虛擬運行商的開頭字段絕大多數是17開頭的4位數(一樣隸屬於三大運營商)。
 
中間的4位6450屬於地區碼,這個由運營商進行分配,是你的HLR(Home Location Register)信息,感興趣也能夠查一下VLR,會對手機的通話機制有更多認識。
 
最後的0763是移動用戶號,是在HLR之下進行分配的。
 
身份證號:36 07 24 19981016 601 3(某詐騙身份證)
 
在中國大陸地區,36表示你所在的省(或同級地區),07表示所在的地級市(或同級地區),24表示所在的縣(或同級地區)。
 
中間的8位19981016就是熟悉的出生年月日,此後的3位601是所在地同年同月同日生人的順序號,其中這裏的1,也就是第17位,男性爲奇數,女性爲偶數。
 
最後一位3是校驗碼是經過一個特定的公式計算出來,若是校驗碼爲10,那麼用x代替,身份系統沒法錄入19位。詳情可查看「居民身份證號碼」百度百科,很清晰,這個數字能夠判斷出一個身份證號的真僞。
 
銀行卡號:
622536 527156282 2(16位)
622848 242107389921 9(19位)
 
並不是沒有其餘長度的卡號,在中國大陸這兩種最多,僅說這兩種。
 
前6位是發行者標識碼(Issuer Indentification Number),這是國際標準化組織分配給各銀行組織的,通常包括髮卡行、卡的種類、卡的名稱,支付寶、微信在你綁定銀行卡的時候便可識別。中國銀聯卡的開頭通常都是62。
 
中間的9位或者12位表示我的帳號標識,內容通常包含支行網點所在地信息,部分可能不是。
 
最後一位是銀行卡校驗碼,採用Luhn算法,根據卡號的前15位或者18位計算出來,因此銀行卡號不是信口就能夠編造出來的,詳情可查看「Luhn算法」百度百科,很明瞭。
 
統一社會信用代碼:9 1 110302 053604529 E
 
這一串數字一樣是18位,和身份證相同,沒錯,它就是企業法人及其餘組織的身份證號。
 
第一個數字表示所登記的管理部門,分爲機構編制(1)、民政(5)、工商(9)、其餘(Y)。
 
第二個數字表示上述登記管理部門下的細分機構類別,例如工商分爲企業(1)、個體工商戶(2)、農民專業合做社(3)。
 
3-8位表示登記管理機關的行政區劃碼,也就是工商註冊號開頭的6位數。
 
9-17位表示組織機構代碼
 
最後一位是校驗碼,算法有點複雜,可是花點時間就能看懂。
 
詳情連接以下:
http://qyj.saic.gov.cn/zyfb/gszjfb/201612/t20161208_232473.html
相關文章
相關標籤/搜索