有沒有可能兩個人身份證號只差最後一個數字?


如果是當前正在使用的十八位身份證那不可能,因為最後一位是用前面所有位計算出來的「校驗位」,既然前面是一樣的,那麼算出來的校驗值也是唯一的。

計算方法是前面十七位乘以每一位的權重值之後求和,然後對11取餘數,再查表得到最後一位(0-9,X)X代表羅馬數字10。

如果是舊的15位身份證號碼,因為最後三位是序號和性別,那麼同年同月同日生且註冊地址在同一個地區的人,有可能僅僅最後一位不同。

既然標題里有身份證安全,我就多說一句,大家都知道如果在網上貼自己的身份證照片的時候需要打碼,但是大家不知道的是,對打碼來說,最重要的是後四位,因為前六位是註冊地址,有很大概率跟身份證地址是一個地方(即使不是也很容易查到出生地),接下來的八位是生日,比較容易查到(而且也比較容易根據校驗碼計算出取值範圍),只有最後四位是最特殊的,也是保密性最強的。

錯誤的示範:可以通過生日還原

正確的示範:隱藏了最後四位

更安全的示範:

怕了沒有?


身份證最後一位是根據前面十七位數字碼,按照ISO 7064:1983.MOD 11-2校驗碼計算出來的檢驗碼。前面的一樣最後一位就一樣,算錯了就去找警察。

這麼久了還沒人貼如何計算最後一位數的答案?那我來吧。

身份證號碼中的校驗碼是身份證號碼的最後一位,是根據〖中華人民共和國國家標準GB 11643-1999〗中有關公民身份號碼的規定,根據精密的計算公式計算出來的,公民身份號碼是特徵組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為:六位數字地址碼,八位數字出生日期碼,三位數字順序碼,最後一位是數字校驗碼。

校驗碼是識別一個身份證號碼是否真實存在的重要的依據。那我們要如何通過校驗碼來判斷一個身份證號碼是否真實的呢?

身份證最後一位是根據前面十七位數字碼,按照ISO 7064:1983.MOD 11-2校驗碼計算出來的檢驗碼。

校驗碼如何判斷身份證號碼真偽呢?我們來看看具體計划過程。

第一步:將身份證號碼的第1位數字與7相乘;將身份證號碼的第2位數字與9相乘;將身份證號碼的第3位數字與10相乘;將身份證號碼的第4位數字與5相乘;將身份證號碼的第5位數字與8相乘;將身份證號碼的第6位數字與4相乘;將身份證號碼的第7位數字與2相乘;將身份證號碼的第8位數字與1相乘;將身份證號碼的第9位數字與6相乘;將身份證號碼的第10位數字與3相乘;將身份證號碼的第11位數字與7相乘;將身份證號碼的第12位數字與9相乘;將身份證號碼的第13位數字與10相乘;將身份證號碼的第14位數字與5相乘;將身份證號碼的第15位數字與8相乘;將身份證號碼的第16位數字與4相乘;將身份證號碼的第17位數字與2相乘。

第二步:將第一步身份證號碼1~17位相乘的結果求和,全部加起來。

第三步:用第二步計算出來的結果除以11,這樣就會出現餘數為0,餘數為1,餘數為2,餘數為3,餘數為4,餘數為5,餘數為6,餘數為7,餘數為8,餘數為9,餘數為10共11種可能性。

敲黑板!

敲黑板!

敲黑板!

第四步:如果餘數為0,那對應的最後一位身份證的號碼為1;如果餘數為1,那對應的最後一位身份證的號碼為0;如果餘數為2,那對應的最後一位身份證的號碼為X;如果餘數為3,那對應的最後一位身份證的號碼為9;如果餘數為4,那對應的最後一位身份證的號碼為8;如果餘數為5,那對應的最後一位身份證的號碼為7;如果餘數為6,那對應的最後一位身份證的號碼為6;如果餘數為7,那對應的最後一位身份證的號碼為5;如果餘數為8,那對應的最後一位身份證的號碼為4;如果餘數為9,那對應的最後一位身份證的號碼為3;如果餘數為10,那對應的最後一位身份證的號碼為2。

比如: 身份證號碼 432831196411150810 這個身份證是否是有效身份證號碼呢?請看校驗碼分析。

身份證校驗位計算器


在知乎日報上看到這個問題,剛好之前在看演算法筆記的時候遇到,所以就把自己的自己看到的分享出來了哈

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

其實高票得主已經把問題說的很正確了(要不然咋能上日報呢手動哭笑表情),我這裡就解釋一下為啥不能除以10取余等小細節問題,涉及到一些公式。

將身份證的數字從右到左a1,a2,....,a18,a1是校驗位,滿足如下公式:

a_{1}=(12-((sum_{i=2}^{18}{a_{i}2^{i-1}  } ) mod 11))mod11(為什麼採用這個兩次取mod的公式我就不知道了,可以驗證的是最後的值還是處於0-10中)

所以大家可能根據自己的身份證號的前11位檢查一下最後一位啦啦,則a1可能取0~10中的任意一個值,當為a1為10時,採用X表示。之所以採用mod 11的這種設定是充分利用了11這個離10最近而又是質數的優點,使得我們在寫錯身份證號碼中任何一個數字的時候,都會導致上述公式的不成立,假設我們把身份證中前17位中的某個號碼a_{k}誤寫成a_{k}+t,即誤寫成另外一個數字,根據上述公式,a1會變成a_{1}+2^{k-1}t)mod 11。如果我們希望a1保持不變,則必須有(2^{k-1}t)mod 11 = 0,要其成立必有t=0,這就是質數的優點,如果是除以10取余的話,t還可以等於5什麼的。取mod11就是為了保證只要身份證號寫錯一位,就必然導致校驗碼a1發生變化,換句話說,任何兩個合法的身份證號碼至少會有兩位數字是不同的。

打完收工~~~

參考:演算法筆記,刁瑞 謝妍


我只遇到過最後兩位不同的………這應該是極限了

高中一女同學和我同省同市同區同年同月同日,這個還不算神奇,我看了她身份證(高中考試需要帶證件……你懂的,我只是想看照片……)倒數三四位數也是相同………就最後兩位數不同不過差不太多

如果沒有看樓上的回答,我一直誤以為那是順序號——她和我中間隔了幾個人…


據我所知,這種情況是絕對不可能出現的!

首先身份證號碼是十八位的,

前六位是地址碼,1.2兩位代表省,3.4兩位代表市,5.6兩位代表縣,

第7位到第14位是每個人的出生年月日,

而第15到16位這兩個是代表鄉鎮或者比較大的鄉鎮片區,

第17位是判斷性別的,奇數為男性,偶數則為女性!

第18位就是人口信息網系統自動生成的0-9還加上一個X(代表10),這十個數字中的任何一個!

那麼如果要是題主所說的這種情況,

首先這兩個人肯定是要所屬同一個鄉鎮並且還是要同年同月同日出生,那前面1到16位全部都相同

那麼如果這兩個人都是女性,第17位就會是偶數,那麼我們假如其中一個人是2,那麼另外一個人就只能是4.6.8裡面的任意一位;

如果這兩個人都是男性,那麼第17位就會是奇數,假如其中有個人是1,那麼另外一個就只可能會是3、5、7、9裡面的任意一位!

假如一男一女的話,那就更不可能了,一奇一偶絕不相同!

那麼最後第18位自動生成的,同一天出生的的幾乎是不可能一樣的,至少我還沒碰到過

所以至少應該是最後兩位不一樣!


我和我雙保胎弟弟

只有最後兩位不同


我們的身份證號碼是1和8,有沒有可能在一起


利益相關:親身經歷

6月份大四學長畢業後,去查什麼檔案之類(我才大二不是很懂),結果人家告訴我學長說,他的身份證號居然查出兩個人。

據他們辦理人員說全國只有13例這種情況(即身份證號碼重複),我學長就撞上一個!


我和我一個小學同學,同年同月同日出生,同一家醫院同一個區,而且同一個性別.... 所以我們兩個的身份證號只有最後兩位是不一樣的= =

還記得以前小學時候記同學身份證號碼基本上就記最後兩位到四位數就好了(生日彼此太熟悉),當時同班同學身份證號真的可以隨便默寫2333333....


那個,18位的身份證號,第15~17位是出生順序號,代表著你是當省當地當年當月當天第幾個出生的,偶數分給女性,奇數給男性。

比如15~17位是045。是第23個出生的男性。124,是第62個出生的女性。

實際經驗這明明是上戶口的先後順序而已。


不可能,最後一位是校驗碼,是根據前17位算的


18位身份證的15、16、17位是辦身份證的先後順序號,而不是出生時間的順序。

同地區同年同月同日生的人,按照男性奇數 女性偶數,最先辦理身份證的排在前面。

我的身份證90年代還沒滿16周歲就辦了,那三個數是001,同地區同天生日里最早辦身份證的。


我和閨蜜,同年同月同一個地區,只有出生日和身份證號最後一位不一樣,最後一位還是連號……


我和一個一起學車的哥們只有一個數不同,出生地出生年月都一樣,後四位只有倒數第二位不一樣,當時發現的時候都驚呆了,很是驚奇,【日常跑題系列】


我們村和我同一天出生的一個哥們,後三位不一樣。


有啊

我和我住在同一區的小夥伴同年同月生 身份證號只差了生日的兩位 最後四位居然也是一樣的 偶然才發現的 我們都很驚訝 如果我們生日一樣不知道會是什麼情況


推薦閱讀:

請問身份證哪一面是正面?
身份證號碼最後一位為什麼要出現X?
僅憑藉身份證號碼可以識別一個人的性別嗎?
在人戶分離狀態下,丟了身份證如何乘坐交通工具回家鄉補辦呢?
推廣網路身份證對個人隱私的影響有多嚴重?

TAG:身份證 | 身份證安全 |