|
身分證製造機程式撰寫原理
我們現在來看一下整個規則,身分證製造機的相關規則如後所述,第一個就是英文字母,A代表您戶籍地代碼的十位數字,B代表個位數字,CDEFGHIJK分別代表著緊接而來的九個號碼。
然後我們來定義函數:f(A~K)=A+9B+8C+7D+6E+5F+4G+3H+2I+J+K,當函數值f(A~K)=10M的時候,M屬於常數,也就是說,該值為10的倍數的時候,那這組身分證字號就是可以使用的。
我們來看一個實例比較清楚身分證製造機實際要如何來寫:比方這個 A123456789 生份證字號,我們可以將它列成 10123456789,不知道A為什麼是10的話,可以參考另外一篇,1+9x0+8x1+7x2+6x3+5x4+4x5+3x6+2x7+8+9= 130,130是10的倍數,也就是說這一組是可以使用的,很多網頁型的都可以直接下載來用。
再舉一個實例:B284793817 => 11284793817,這也是可以用的,你可以自己去算一下為什麼這個生份證字號可以使用。仔細看看函數,J跟K的加權值都是1,也就是說J+1並且K -1的話,那麼這一組字號也是可以使用的,所以說基本上每一組生分證產生器字號加減9號就又是另外一組。身分證製造機便是使用上述規則亂數產生號碼。
|