IMEI格式

IMEI 码由15位数字组成,其中第15位(IME15)是检验位,是通过将前14(IMEI14)运算得出的,

计算公式公式如下:

IMEI15= 绝对值( (iSum+eSum) 除以10的余数 - 10 );

IMEI14:从左到右分别为第1,2,3~14位。第14位为奇数位,第13位为偶数位

其中,eSum = 7位偶数累加

iSum = 7位奇数位2除以10的整数 累加 + 奇数位2除以10的余数累加

static void  create(){
        //
        String tac="861337";
        String fac="03";
        for(int j=0;j<10;j++){
            int snr=491201+j;
            String index=String.format("%06d", snr);
            String data=tac+fac+index;
             int sum1=0;
             int sum2=0;
            for (int i = 0; i < data.length(); i++) {             
                    int num = data.charAt(i) - '0';     // ascii to num  
                    //System.out.println(num);  
                    /*(1)将奇数位数字相加(从1开始计数)*/  
                    if (i%2==0) {  
                        sum1 = sum1 + num;  
                    }else{  
                        /*(2)将偶数位数字分别乘以2,分别计算个位数和十位数之和(从1开始计数)*/  
                        int temp = num * 2 ;  
                        if (temp < 10) {  
                            sum2=sum2+temp;  
                        }else{  
                            sum2 = sum2 + temp + 1 -10;  
                        }  
                    }  
                }  
                int total = sum1+sum2;  
                /*如果得出的数个位是0则校验位为0,否则为10减去个位数 */  
                String resultStr;
                if (total % 10 ==0) {  
                    resultStr=data+"0";
                }else{  
                    resultStr=data+ (10 - (total %10))+"";  
                }  
            
            System.err.println(resultStr);
        }
        
    }

你可能感兴趣的:(IMEI格式)