VB代码 手机IMEI算法

时间: 2009-09-01 / 分类: 代码 / 浏览次数: / 0个评论 发表评论

早些时候无聊,弟弟手机要申请证书!于是便有了下面的代码。
IMEI是国际移动通讯设备识别号(International Mobile Equipment Identity)的缩写,用于GSM系统。由15位数字组成,前6位(TAC)是型号核准号码,代表手机类型。接着2位(FAC)是最后装配号,代表产地。后6位(SNR)是串号,代表生产顺序号。最后1位(SP)是检验码。
(1).将偶数位数字分别乘以2,分别计算个位数和十位数之和
(2).将奇数位数字相加,再加上上一步算得的值
(3).如果得出的数个位是0则校验位为0,否则为10减去个位数
如:35 89 01 80 69 72 41 偶数位乘以2得到5*2=10 9*2=18 1*2=02 0*2=00 9*2=18 2*2=04 1*2=02,计算奇数位数字之和和偶数位个位十位之和,得到 3+(1+0)+8+(1+8)+0+(0+2)+8+(0+0)+6+(1+8)+7+(0+4)+4+(0+2)=63 => 校验位 10-3 = 7

For n = 1 To 7
B(n) = IIf(Mid(A, n * 2, 1) > 4, ((Mid(A, n * 2, 1) * 2) - 9), (Mid(A, n * 2, 1) * 2))
Next n
For n = 1 To 7
B(17) = B(17) + B(n)
Next n
For X = 1 To 7
B(X) = Mid(A, 2 * X - 1, 1)
Next X
For X = 1 To 7
B(16) = B(16) + B(X)
Next X
B(18) = B(17) + B(16)

发表评论

您的昵称 *

您的邮箱 *

您的网站