最近碰到后台返回的数据带MD5加密的,慢慢了解了一下,废话不说,上代码。
MD5的的工具类方法:
package com.example.administrator.yonghuban.GongJuLei;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* Created by Administrator on 2017/5/17.
*/
public class MD5utils {
/**
* 32位MD5加密方法
* 16位小写加密只需getMd5Value("xxx").substring(8, 24);即可
* @param sSecret
* @return
*/
public static String getMd5Value(String sSecret) {
try {
MessageDigest bmd5 = MessageDigest.getInstance("MD5");
bmd5.update(sSecret.getBytes());
int i;
StringBuffer buf = new StringBuffer();
byte[] b = bmd5.digest();// 加密
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
return buf.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
}
使用的时候,拼接url,添加加密的属性
String url = HttpUrl.Login+"&tokey="+MD5utils.getMd5Value("10006&54DQ58ed1A5FeSaD&getpjshop_info");
(接口ID &秘钥&接口方法名)
这样就OK了。