Algoritma verifikasi kartu ID 18-bit
Algoritma Kode Verifikasi Kartu ID
Cara Menghasilkan Kode Verifikasi Kartu ID:
∑ (ai × wi) (mod11)
I: menunjukkan nomor posisi termasuk kode verifikasi dari kiri;
AI mewakili nilai karakter angka pada posisi ke-i;
Faktor pembobotan pada posisi ke-i Wi, nilainya wi = mod (daya (2, (n-1)), 11)
I181716151413121110987654321
WI79105842163791058421
Kode verifikasi yang sesuai:
∑ (ai × wi) (mod11) 012345678910
Verifikasi Nilai Karakter Kode AI10X98765432
Ini fungsi cek:
Functionsfzjy (num)
iflen (num) = 15then
cid = kiri (num, 6) & "19" & kanan (num, 9)
elseiflen (num) = 17orlen (num) = 18then
cid = kiri (num, 17)
endif
nsum = mid (cid, 1,1)*7
nsum = nsum+mid (cid, 2,1)*9
nsum = nsum+mid (cid, 3,1)*10
nsum = nsum+mid (cid, 4,1)*5
nsum = nsum+mid (cid, 5,1)*8
nsum = nsum+mid (cid, 6,1)*4
nsum = nsum+mid (cid, 7,1)*2
nsum = nsum+mid (cid, 8,1)*1
nsum = nsum+mid (cid, 9,1)*6
nsum = nsum+mid (cid, 10,1)*3
nsum = nsum+mid (cid, 11,1)*7
nsum = nsum+mid (cid, 12,1)*9
nsum = nsum+mid (cid, 13,1)*10
nsum = nsum+mid (cid, 14,1)*5
nsum = nsum+mid (cid, 15,1)*8
nsum = nsum+mid (cid, 16,1)*4
nsum = nsum+mid (cid, 17,1)*2
'* Hitung bit cek
check_number = 12-nsummod11
Ifcheck_number = 10thencheck_number = "x" elseifCheck_number = 12thencheck_number = "1" elseifcheck_number = 11thencheck_number = "0" endifsfzjy = check_number
Fungsi endfungsi
Verifikasi lainnya:
Jenis kelamin dan tanggal lahir:
SFZNUM = Nomor ID
lenx = len (sfznum)
iflenx = 15then
yy = "19" & mid (xian, 7,2)
mm = mid (xian, 9,2)
dd = mid (xian, 11,2)
AA = Mid (Xian, 15,1) '15 -Digit Identity Card dapat di peringkat ke-15, dapat dibagi menjadi 2 wanita
endif
iflenx = 18then
yy = mid (xian, 7,4)
mm = mid (xian, 11,2)
dd = mid (xian, 13,2)