15位MEID验证算法
来源:互联网 发布:手机做表格软件 编辑:程序博客网 时间:2024/06/07 07:20
MEID校验码算法:
(1).将偶数位数字分别乘以2,分别计算个位数和十位数之和,注意是16进制数
(2).将奇数位数字相加,再加上上一步算得的值
(3).如果得出的数个位是0则校验位为0,否则为10(这里的10是16进制)减去个位数
(1).将偶数位数字分别乘以2,分别计算个位数和十位数之和,注意是16进制数
(2).将奇数位数字相加,再加上上一步算得的值
(3).如果得出的数个位是0则校验位为0,否则为10(这里的10是16进制)减去个位数
如:AF 01 23 45 0A BC DE 偶数位乘以2得到F*2=1E 1*2=02 3*2=06 5*2=0A A*2=14 C*2=18 E*2=1C,计算奇数位数字之和和偶数位个位十位之和,得到 A+(1+E)+0+2+2+6+4+A+0+(1+4)+B+(1+8)+D+(1+C)=64 => 校验位 10-4 = C
/// <summary> /// MEID校验 /// </summary> /// <param name="meid">MEID</param> /// <returns></returns> private bool GetMEIDCheckDigit(string meid) { meid = meid.ToLower(); String[] myStr = { "a", "b", "c", "d", "e", "f" }; int sum = 0; string lastNum; for (int i = 0; i < 14; i++) { String param = meid.Substring(i, 1); for (int j = 0; j < myStr.Length; j++) { if (param.Equals(myStr[j])) { param = "1" + j.ToString(); break; } } if (i % 2 == 0) { sum = sum + int.Parse(param); } else { sum = sum + 2 * int.Parse(param) % 16; sum = sum + 2 * int.Parse(param) / 16; } } if (sum % 16 == 0) { lastNum = "0"; } else { int result = 16 - sum % 16; if (result > 9) { result += 65 - 10; } lastNum = result.ToString(); } //将得出的检验码转换成16进制进行校验 if (Convert.ToString(int.Parse(lastNum), 16).ToUpper() != meid[14].ToString()) return false; else return true; }
阅读全文
0 0
- 15位MEID验证算法
- MEID校验位算法
- 15位IMEI验证算法
- MEID
- 身份证号码的验证及15位升18位算法
- 中国身份证验证算法旧15位新18位
- 计算MEID校验位的算法函数
- 新旧身份证合法性验证及相互转换算法(三):Java身份证号码验证及将15位转换18位
- 18位身份证格式验证算法
- 18位身份证号码验证算法代码
- 18位身份证号码验证算法代码
- 18位身份证号码验证算法代码
- 简单验证char多少位的算法?
- 15位或18位身份证验证
- 15位身份证转18位/18位身份证验证
- 身份证号码15位升18位身份证18位验证
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- NGUI ScrollView辅助插件“Super Scroll List for NGUI”
- 帮你彻底解决eclipse(myeclipse)中写struts.xml配置文件
- Python with 用法
- 指针与字符串_字符串处理函数
- Guitar Pro 中圆滑音和连结音的区别在哪里?
- 15位MEID验证算法
- spring cloud系列-01.注册中心Eureka搭建
- Unity日常踩坑1
- DataSet用法详细
- java开发操作系统:一个程序向另一个程序伸出的咸猪手
- 利用JNI写的安卓串口读写框架
- 基于zookeeper实现分布式锁
- C#中,获取系统信息全解
- 用Tomcat实现IP限制访问只能域名访问