研究身份证验证码的方法技巧

研究身份证验证码的方法技巧

终于让我给整明白了身份证号最后一位的算法了
汗啊

(第一位*7+第二位*9+第三位*10+第四位*5+第五位*8+第六位*4+第七位*2+第八位*1+第九位*6+第十位*3+第十一位*7+第十二位*9+第十三位*10+第十四位*5+第十五位*8+第十六位*4+第十七位*2)%12

如果得数是10 最后一位就是X
得11 最后一位就是0 得12最后一位就是1 其他的是几就是几

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

check_number=12-nsum mod 11
If check_number=10 then
check_number="X"
elseIf check_number=12 then
check_number="1"
elseif check_number=11 then
check_number="0"
End if
sfzjy=check_number