53 lines
2.2 KiB
Java
53 lines
2.2 KiB
Java
package com.ruoyi.cai.trdpay;
|
|
|
|
import cn.hutool.crypto.digest.DigestUtil;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.util.LinkedMultiValueMap;
|
|
import org.springframework.util.MultiValueMap;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
|
|
public class PayMd5Util {
|
|
public static MultiValueMap<String,String> createParamsOfMap(Map<String, String> params, String key) {
|
|
MultiValueMap<String, String> resp = new LinkedMultiValueMap<>();
|
|
List<String> url = new ArrayList<>();
|
|
for (Map.Entry<String, String> entry : params.entrySet()) {
|
|
url.add(entry.getKey() + "=" + entry.getValue());
|
|
resp.add(entry.getKey(), entry.getValue());
|
|
}
|
|
url = url.stream().sorted().collect(Collectors.toList());
|
|
String stringSignTemp = StringUtils.join(url, "&") + "&key=" + key;
|
|
String sign = DigestUtil.md5Hex(stringSignTemp).toUpperCase();
|
|
url.add("sign=" + sign);
|
|
resp.add("sign",sign);
|
|
return resp;
|
|
}
|
|
|
|
public static String createParams(Map<String, String> params, String key) {
|
|
List<String> url = new ArrayList<>();
|
|
for (Map.Entry<String, String> entry : params.entrySet()) {
|
|
url.add(entry.getKey() + "=" + entry.getValue());
|
|
}
|
|
url = url.stream().sorted().collect(Collectors.toList());
|
|
String stringSignTemp = StringUtils.join(url, "&") + "&key=" + key;
|
|
String sign = DigestUtil.md5Hex(stringSignTemp).toUpperCase();
|
|
url.add("sign=" + sign);
|
|
return StringUtils.join(url, "&");
|
|
}
|
|
|
|
public static String createParams(Map<String, String> params, String key,String signName) {
|
|
List<String> url = new ArrayList<>();
|
|
for (Map.Entry<String, String> entry : params.entrySet()) {
|
|
url.add(entry.getKey() + "=" + entry.getValue());
|
|
}
|
|
url = url.stream().sorted().collect(Collectors.toList());
|
|
String stringSignTemp = StringUtils.join(url, "&") + "&key=" + key;
|
|
String sign = DigestUtil.md5Hex(stringSignTemp).toUpperCase();
|
|
url.add(signName + "=" + sign);
|
|
return StringUtils.join(url, "&");
|
|
}
|
|
}
|