IMEI批量生成(Python)

IMEI为15位数字

格式为AAAAAAAA BBBBBB C

AAAAAAAA 为 Type Allocation Code

BBBBBB 为 Serial Number

C 为 Check Digit

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

 

如下是批量生成1000笔IMEI数据的Python实现代码.

#!/usr/bin/python 
# -*- coding: UTF-8 -*- 
def genImeiLuhn(digits14): 
    digit15=0 
    for num in range(14): 
        if num%2==0: 
            digit15=digit15+int(digits14[num]) 
        else: 
            digit15=digit15+(int(digits14[num])*2)%10+(int(digits14[num])*2)/10 
    digit15=int(digit15)%10 
    if digit15==0: 
        digits14=digits14+str(digit15) 
    else: 
        digits14=digits14+str(10-digit15) 
    return digits14 
def genMassImei(stat14digits,amount,filepath): 
    fo=open(filepath,"wb") 
    for num in range(amount): 
        imei=genImeiLuhn(stat14digits) 
        stat14digits=str(long(stat14digits)+1) 
        fo.write(imei+"\r\n") 
        print imei 
    fo.flush() 
    fo.close() 
genMassImei("12345678901234",1000,"imei2.txt")

 

转载于:https://www.cnblogs.com/newvoyage/p/5542542.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值