php验证imei算法,IMEI校验位计算-基于python3
IMEI是国际移动通讯设备识别号(International Mobile Equipment Identity)的缩写,用于GSM系统。
由15位数字组成,前6位(TAC)是型号核准号码,代表手机类型。接着2位(FAC)是最后装配号,代表产地。后6位(SNR)是串号,代表生产顺序号。最后1位(SP)是检验码。
————————————————
IMEI校验码算法:
(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
————————————————#!/usr/bin/python3
def getlastbit():
imei_str = input("input imei:")
if 14 != len(imei_str):
print("ERROR!Please input 14 bit IMEI!")
elif imei_str.isnumeric():
i = 0
sum1 = 0
for var in imei_str:
# print(type(var))
var_int = int(var)
# print(type(var_int))
if 0 == i % 2:
ge = var_int * 2 % 10
sum1 = sum1 + ge + (var_int * 2 - ge) / 10
else:
sum1 = sum1 + var_int
bit = 0
if 0 == sum1 % 10:
bit = 0
elif sum1 > 100:
bit = 10 - sum1 % 100 % 10
else:
bit = 10 - sum1 % 10
print("The full IMEI is:" + imei_str + str(int(bit)))
else:
print("ERROR!!!Please input number type!!!")
# start to find
if __name__ == '__main__':
getlastbit()
实际运行如下:
php验证imei算法,IMEI校验位计算-基于python3相关推荐
- 程序实现IMEI/MEID校验位计算
IMEI校验码算法: (1).将偶数位数字分别乘以2,分别计算个位数和十位数之和 (2).将奇数位数字相加,再加上上一步算得的值 (3).如果得出的数个位是0则校验位为0,否则为10减去个位数 如:3 ...
- IMEI/MEID校验位计算
转自:http://blog.csdn.net/fengyifei11228/article/details/45919797 IMEI是国际移动通讯设备识别号(International Mobil ...
- android中 IMEI和ICCID的校验位计算
我们都知道在android 中有IMEI和ICCID 这两项数据. 至于这两项数据的获取方式以及所表示的意思在此我就不写了.主要讲讲这两项数据最后一位的校验位如何计算的. IMEI共15位 最后一位是 ...
- java设备imei号_java 怎么计算IMEI号码正确性
展开全部 已完成,复制粘贴,采纳即636f707962616964757a686964616f31333337376362可. public class IMEI { private static v ...
- 现代计算机三大科学计算,基于三维重建过程中纹理映射问题的研究
基于三维重建过程中纹理映射问题的研究 科学计算可视化.计算机动画和虚拟现实已经成为计算机图形学的三大热门话题,这三大话题的技术核心均为三维图形.学术界和产业界普遍认为,纹理映射是解决真实地显示现实世界 ...
- 国密算法—SM2介绍及基于BC的实现
国密算法-SM2介绍及基于BC的实现 文章目录 国密算法-SM2介绍及基于BC的实现 简介 私钥 公钥 数据格式 密钥数据格式 私钥数据格式 公钥数据格式 加密数据格式 签名数据格式 计算过程 生成密 ...
- 什么是陀螺仪的dr算法_一种基于DR/GPS/MM的组合定位系统数据融合算法
摘 要: 针对盲区中使用INS惯性导航系统进行定位存在误差积累的问题,提出一种基于DR航位推算.GPS全球定位系统和MM地图匹配的组合定位系统数据融合算法.该算法利用GPS和MM中得到的位置信息,一方 ...
- 机器学习算法(七): 基于LightGBM的分类预测(基于英雄联盟10分钟数据判断红蓝方胜负)
机器学习算法(七)基于LightGBM的分类预测 1. 实验室介绍 1.1 LightGBM的介绍 LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由20 ...
- 基于python3.7 numpy scipy matplotlib sklearn的机器学习笔记5—监督学习之KNN、DT、NB算法简析
1.KNN :通过计算待分类数据点,与 已有数据集中的所点距离.取距离最小的前 K个点,根据"少数服从 多数"的原则,将这个据点划分为出现次数最多的那个类别. 在sklearnsk ...
最新文章
- 排查一般MySQL性能问题
- Android之文件读写
- .NET 实现并行的几种方式(三)
- Excel 使用VBA 使表格的值被修改后填充颜色标注
- b区计算机复试国家线,2020研究生考试国家线A区B区有什么区别
- 滴滴滴,ITester软件测试小栈所有资源放送!
- thinkphp5学习笔记
- 合肥青少年信息学计算机竞赛试题,合肥市第三十一届青少年信息学(计算机)竞赛 小学组试题...
- Mysql基本增删改查
- ROS机器人编程新书推荐(附免费下载)
- 计算机组成原理:系统总线IO设备
- C++大纲显示:vs将if、for等语句块折叠
- linux单引号作用,单引号 双引号如何输入(Linux运维:单引号与双引号的使用)...
- html5刮刮卡,canvas 实现刮刮卡
- sun java system calendar 服务器拒绝服务_sun java system cale
- 温莎计算机应用硕士是针对国际学生的吗,专业推荐 | 加拿大留学,温莎大学英语计算机专业了解一下...
- 学习 Java8 函数式编程 (二)
- IDEA开发 工具IC和IU的区别
- Metasploit(msf)利用ms17_010(永恒之蓝)出现Encoding::UndefinedConversionError问题
- pod spec的创建及其使用