import org.springframework.util.DigestUtils;
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.TreeMap;
/**
* @author hisense
* @date 2023/10/20 18:19
*/
public class SignUtils {
private static final String CHARSET_UTF8 = "UTF-8";
private static final String APP_SECRET = "聚好看提供";
public static void main(String[] args) {
TreeMap<String, Object> paramMap = new TreeMap<>();
paramMap.put("user_key", "ad47e6ac01eb18d28027c53039f25e40");
paramMap.put("partnerCode", "dhr");
paramMap.put("employeeNumber", "40174331");
StringBuilder sb = new StringBuilder();
paramMap.forEach((k, v) -> sb.append(k).append("=").append(v).append("&"));
sb.deleteCharAt(sb.length() - 1);
System.out.println("Encoder:" + generateBase64Md5Signature(sb.toString(), APP_SECRET));
}
public static String generateBase64Md5Signature(String body, String appSecret) {
System.out.println("generateBase64Md5Signature body + appSecret:" + body + appSecret);
try {
byte[] md5SignByte = DigestUtils.md5Digest(getContentBytes(body + appSecret, CHARSET_UTF8));
return Base64.getEncoder().encodeToString(md5SignByte);
} catch (UnsupportedEncodingException e) {
System.out.println("Unsupported Encoding Exception:" + e.getMessage());
return "";
}
}
protected static byte[] getContentBytes(String content, String charset) throws UnsupportedEncodingException {
if (charset == null || charset.isEmpty()) {
throw new IllegalArgumentException("Charset is null or empty");
}
return content.getBytes(charset);
}
}
少时诵诗书所所
于 2023-11-21 10:29:06 首次发布