身份證 15位公升級18位 和最後一位校驗位計算

2021-06-02 12:11:39 字數 1074 閱讀 9995

#include #include using namespace std;

char cnid18crc(const char *id18); // 身份證 最後一位校驗位

void cnid_15to18(char *id18 , const char *id15); // 身份證 15位公升級18位

int main()

// 身份證 最後一位校驗位

char cnid18crc(const char *id18)

; char w = ;

for (int i = 0; i < 17; i++)

int number = sigma % 11;

cout << w[number] << " ---->\t " << sigma << " mod 11 = " << number << endl ;

return w[number];

}// 身份證 15位公升級18位

void cnid_15to18(char *id18 , const char *id15)

3 * 7   = 21

4 * 9 = 36

0 * 10 = 0

5 * 5 = 25

2 * 8 = 16

4 * 4 = 16

1 * 2 = 2

9 * 1 = 9

8 * 6 = 48

0 * 3 = 0

0 * 7 = 0

1 * 9 = 9

0 * 10 = 0

1 * 5 = 5

0 * 8 = 0

0 * 4 = 0

1 * 2 = 2

x ----> 189 mod 11 = 2

340524800101001

34052419800101001x

// 執行結果,加權因子,校驗碼表

int a = ;

char w = ;

身份證15位公升18位

六位數字位址碼 八位數字出生日期碼 三位數字順序碼 順序碼的奇數分給男性,偶數分給女性 一位數字校驗碼 校驗碼是根據前面十七位數字碼,按照iso 7064 1983.mod 11 2校驗碼計算出來的檢驗碼 1 多了年數 第6位開始多了19表示完整的出生日期 2 多了最後一位校驗碼 ai wi mod...

15位身份證補全為18位身份證演算法

一 15位身份證和18位身份證號碼結構介紹 要進行身份證號碼的驗證,首先需要了解我國身份證號碼的編碼規則。我國身份證號碼多由若干位數字或者數字與字母混合組成。早期身份證由15位數字構成,這主要是在1980年以前發放的身份證,後來考慮到千年蟲問題,因為15位的身份證號碼只能為1900年1月1日到199...

身份證15轉18位

身證份15位轉18位 測試用例用 顯示部分系統人為修改,create function f cid15to18 sfz char 18 returns char 18 asbegin declare osfz varchar 18 declare i int,ai int,wi int,sum in...