调用http接口时,sign 参数需要将appKey+requestId+long类型时间生成md5(小写)
下面将使用Spring自带的工具类生成md5(原因简单),不用自己编写md5工具类
只需一行代码即可:
String md5Str = DigestUtils.md5DigestAsHex(stb.toString().getBytes());
以下是完成代码:
一:创建实体类:
package com.example.demo.mon;
public class SingCode {
private String appappKey;
private long requestTime;
private String requestId;
public SingCode() {
}
public SingCode(String appappKey, long requestTime, String requestId) {
this.appappKey = appappKey;
this.requestTime = requestTime;
this.requestId = requestId;
}
public String getAppappKey() {
return appappKey;
}
public void setAppappKey(String appappKey) {
this.appappKey = appappKey;
}
public long getRequestTime() {
return requestTime;
}
public void setRequestTime(long requestTime) {
this.requestTime = requestTime;
}
public String getRequestId() {
return requestId;
}
public void setRequestId(String requestId) {
this.requestId = requestId;
}
@Override
public String toString() {
return "SingCode{" +
"appappKey='" + appappKey + '\'' +
", requestTime=" + requestTime +
", requestId='" + requestId + '\'' +
'}';
}
}
二:创建生成md5类
package com.example.demo.utils;
import com.example.demo.mon.SingCode;
import org.springframework.util.DigestUtils;
import java.util.Date;
public class Md5Config {
//appKey密钥
private String appKey="c10b822e095d11ec954598f181b8cddc";
//requestId
private String requestId="eed05a3ac197475e9cdef908f621733a";
public void toMd5(){
SingCode singCode = new SingCode();
singCode.setAppappKey(appKey);
singCode.setRequestId(requestId);
//获取long类型时间
singCode.setRequestTime(new Date().getTime());
String appappKey = singCode.getAppappKey();
String requestId = singCode.getRequestId();
long requestTime = singCode.getRequestTime();
StringBuffer stb = new StringBuffer();
//用StringBuffer将字符串拼接
stb.append(appappKey).append(requestId).append(requestTime);
System.out.println(stb);
//使用Spring工具类DigestUtils生成MD5
String md5Str = DigestUtils.md5DigestAsHex(stb.toString().getBytes());
System.out.println(md5Str);
}
public static void main(String[] args) {
new Md5Config().toMd5();
}
}