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相关推荐

  1. 程序实现IMEI/MEID校验位计算

    IMEI校验码算法: (1).将偶数位数字分别乘以2,分别计算个位数和十位数之和 (2).将奇数位数字相加,再加上上一步算得的值 (3).如果得出的数个位是0则校验位为0,否则为10减去个位数 如:3 ...

  2. IMEI/MEID校验位计算

    转自:http://blog.csdn.net/fengyifei11228/article/details/45919797 IMEI是国际移动通讯设备识别号(International Mobil ...

  3. android中 IMEI和ICCID的校验位计算

    我们都知道在android 中有IMEI和ICCID 这两项数据. 至于这两项数据的获取方式以及所表示的意思在此我就不写了.主要讲讲这两项数据最后一位的校验位如何计算的. IMEI共15位 最后一位是 ...

  4. java设备imei号_java 怎么计算IMEI号码正确性

    展开全部 已完成,复制粘贴,采纳即636f707962616964757a686964616f31333337376362可. public class IMEI { private static v ...

  5. 现代计算机三大科学计算,基于三维重建过程中纹理映射问题的研究

    基于三维重建过程中纹理映射问题的研究 科学计算可视化.计算机动画和虚拟现实已经成为计算机图形学的三大热门话题,这三大话题的技术核心均为三维图形.学术界和产业界普遍认为,纹理映射是解决真实地显示现实世界 ...

  6. 国密算法—SM2介绍及基于BC的实现

    国密算法-SM2介绍及基于BC的实现 文章目录 国密算法-SM2介绍及基于BC的实现 简介 私钥 公钥 数据格式 密钥数据格式 私钥数据格式 公钥数据格式 加密数据格式 签名数据格式 计算过程 生成密 ...

  7. 什么是陀螺仪的dr算法_一种基于DR/GPS/MM的组合定位系统数据融合算法

    摘 要: 针对盲区中使用INS惯性导航系统进行定位存在误差积累的问题,提出一种基于DR航位推算.GPS全球定位系统和MM地图匹配的组合定位系统数据融合算法.该算法利用GPS和MM中得到的位置信息,一方 ...

  8. 机器学习算法(七): 基于LightGBM的分类预测(基于英雄联盟10分钟数据判断红蓝方胜负)

    机器学习算法(七)基于LightGBM的分类预测 1. 实验室介绍 1.1 LightGBM的介绍 LightGBM是2017年由微软推出的可扩展机器学习系统,是微软旗下DMKT的一个开源项目,由20 ...

  9. 基于python3.7 numpy scipy matplotlib sklearn的机器学习笔记5—监督学习之KNN、DT、NB算法简析

    1.KNN :通过计算待分类数据点,与 已有数据集中的所点距离.取距离最小的前 K个点,根据"少数服从 多数"的原则,将这个据点划分为出现次数最多的那个类别. 在sklearnsk ...

最新文章

  1. 排查一般MySQL性能问题
  2. Android之文件读写
  3. .NET 实现并行的几种方式(三)
  4. Excel 使用VBA 使表格的值被修改后填充颜色标注
  5. b区计算机复试国家线,2020研究生考试国家线A区B区有什么区别
  6. 滴滴滴,ITester软件测试小栈所有资源放送!
  7. thinkphp5学习笔记
  8. 合肥青少年信息学计算机竞赛试题,合肥市第三十一届青少年信息学(计算机)竞赛 小学组试题...
  9. Mysql基本增删改查
  10. ROS机器人编程新书推荐(附免费下载)
  11. 计算机组成原理:系统总线IO设备
  12. C++大纲显示:vs将if、for等语句块折叠
  13. linux单引号作用,单引号 双引号如何输入(Linux运维:单引号与双引号的使用)...
  14. html5刮刮卡,canvas 实现刮刮卡
  15. sun java system calendar 服务器拒绝服务_sun java system cale
  16. 温莎计算机应用硕士是针对国际学生的吗,专业推荐 | 加拿大留学,温莎大学英语计算机专业了解一下...
  17. 学习 Java8 函数式编程 (二)
  18. IDEA开发 工具IC和IU的区别
  19. Metasploit(msf)利用ms17_010(永恒之蓝)出现Encoding::UndefinedConversionError问题
  20. pod spec的创建及其使用

热门文章

  1. 课堂笔记 - 电商项目开发笔记-02
  2. SQL联合查询实现统计功能
  3. 今年夏天, Milvus 社区与 6 位开源后浪的故事
  4. SQL教程——联合查询
  5. ubuntu安装设置mysql,并设置密码
  6. pdf转ppt的简单方法,包你一学就会
  7. docker 宿主机的安装和配置
  8. 如何获取一张特定大小的压缩图片
  9. 追忆-千千静听7.07美化增强版
  10. devtool里的7种SourceMap模式