貓寧!!!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