翰林优商.apk(点击下载) / UaidUtils.java


package com.nirvana.tools.logger.uaid;

import java.security.MessageDigest;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
import org.json.JSONException;
import org.json.JSONObject;

public class UaidUtils {
    public static final SimpleDateFormat TIMESTAMP_FORMAT = new SimpleDateFormat("yyyyMMddhhmmssSSS");

    public static String composeCmccGetTokenParams(String str, String str2) throws JSONException {
        String str3;
        String format = TIMESTAMP_FORMAT.format(new Date());
        String uuid = UUID.randomUUID().toString();
        String uuid2 = UUID.randomUUID().toString();
        try {
            StringBuffer stringBuffer = new StringBuffer();
            stringBuffer.append(str);
            stringBuffer.append("3");
            stringBuffer.append(uuid2);
            stringBuffer.append(format);
            stringBuffer.append(uuid);
            stringBuffer.append("1.0");
            stringBuffer.append(str2);
            str3 = md5(stringBuffer.toString());
        } catch (Exception e) {
            e.printStackTrace();
            str3 = null;
        }
        JSONObject jSONObject = new JSONObject();
        jSONObject.put("version", "1.0");
        jSONObject.put("timestamp", format);
        jSONObject.put("appId", str);
        jSONObject.put("businessType", "3");
        jSONObject.put("traceid", uuid);
        jSONObject.put("msgId", uuid2);
        jSONObject.put("sign", str3);
        return jSONObject.toString();
    }

    public static String composeCuccAuthAddrParams(String str) {
        return "appid=" + str;
    }

    public static String composeCuccAuthCodeParams(String str, String str2) {
        return "appid=" + str + "&" + "private_ip=" + str2;
    }

    private static String md5(String str) {
        try {
            MessageDigest instance = MessageDigest.getInstance("MD5");
            instance.update(str.getBytes("UTF-8"));
            byte[] digest = instance.digest();
            StringBuffer stringBuffer = new StringBuffer("");
            for (byte b : digest) {
                int i = b;
                if (b < 0) {
                    i = b + 256;
                }
                if (i < 16) {
                    stringBuffer.append("0");
                }
                stringBuffer.append(Integer.toHexString(i == 1 ? 1 : 0));
            }
            return stringBuffer.toString();
        } catch (Exception e) {
            e.printStackTrace();
            return "";
        }
    }
}