Skip to content

Instantly share code, notes, and snippets.

@wsky
Last active December 19, 2015 14:58
Show Gist options
  • Save wsky/5972706 to your computer and use it in GitHub Desktop.
Save wsky/5972706 to your computer and use it in GitHub Desktop.
TOP client usual code
//https://github.com/wsky/cross-fire/blob/master/java/src/main/java/com/taobao/top/integration/Util.java
private static String doSign(String secret, Map<String, String> data) {
String[] keys = new String[data.size()];
data.keySet().toArray(keys);
Arrays.sort(keys);
StringBuilder strb = new StringBuilder();
strb.append(secret);
for (String k : keys) {
// data.get(k) != "" sometimes unnecessary
if (data.get(k) != null && data.get(k) != "") {
strb.append(k);
strb.append(data.get(k));
}
}
strb.append(secret);
return encryptMD5(strb.toString()).toUpperCase();
}
private static String encryptMD5(String str) {
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes("UTF-8"));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();
for (int i = 0; i < byteArray.length; i++) {
if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
else
md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
}
return md5StrBuff.toString();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment