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 ""; } } }