package com.fr.tx.common.util;



public class EncrUtil {

    public static void main(String args1[]){
        String SEED = "D3918411875E2683488E4DAABF7855AB";
        String MTK = "73333333333333333333333333333333";
        makeXor(MTK, SEED);
    }
    
    /**
     * 获取异或处理
     * @param xor1 数据1
     * @param xor2 数据2
     * @return
     */
    public static  String makeXor(String xor1 , String xor2) {
        
        if (StringUtil.isEmpty(xor1) && !StringUtil.isEmpty(xor2)) {
            return xor2;
        } else if (!StringUtil.isEmpty(xor1) && StringUtil.isEmpty(xor2)) {
            return xor1;
        } else if (StringUtil.isEmpty(xor1) && StringUtil.isEmpty(xor2)) {
            return null;
        }
        
        // 自动补位
        int xor1Len = xor1.length();
        int xor2Len = xor2.length();
        if(xor1Len != xor2Len) {
            if (xor1Len > xor2Len) {
                for (int i = 0; i < xor1Len - xor2Len; i++) {
                    xor2 = "0" + xor2;
                }
            } else if (xor1Len < xor2Len) {
                for (int i = 0; i < xor2Len - xor1Len; i++) {
                    xor1 = "0" + xor1;
                }
            }
        }
        
        int tmp1 = 0;
        int tmp2 = 0;
        int tmp = 0;
        StringBuffer sb = new StringBuffer();
        for(int i = 0; i <xor1.length(); i=i+2) {
            tmp1 = Integer.parseInt(xor1.substring(i, i + 2), 16);
            tmp2 = Integer.parseInt(xor2.substring(i, i + 2), 16);
            tmp = tmp1 ^ tmp2;
            sb.append(ConvertUtil.intToHexString(tmp, 1));
        }
        return sb.toString();
    }

}
