package com.ruoyi.admin.utils;
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
|
import java.util.Map;
|
import java.util.TreeMap;
|
|
public class WechatPaySignature {
|
|
// 模拟的签名生成函数,实际应用中应使用微信提供的签名算法
|
public static String generateSignature(Map<String, String> parameters, String apiKey) {
|
// 这里应该使用微信官方提供的签名算法来生成sign
|
// 示例仅为说明,实际中不要直接如此使用
|
StringBuilder toSign = new StringBuilder();
|
for (Map.Entry<String, String> entry : parameters.entrySet()) {
|
toSign.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
|
}
|
toSign.append("key=").append(apiKey);
|
// 对字符串进行MD5或其他加密
|
return DigestUtils.md5Hex(toSign.toString()).toUpperCase();
|
}
|
|
public static void main(String[] args) {
|
Map<String, String> params = new TreeMap<>();
|
params.put("appId", "wx98563d0ec9cf21c8");
|
params.put("timeStamp", "1392689076");
|
params.put("nonceStr", "e614eka7e99d027403216e8dfa37ddc2");
|
params.put("package", "prepay_id=wx01181404626776e879e6764f2760370000");
|
params.put("signType", "MD5");
|
|
String apiKey = "TA2npSNWmS0GcB0tFFRWA94rm1M0iSFs"; // 你的API密钥
|
String paySign = generateSignature(params, apiKey);
|
|
System.out.println("paySign: " + paySign);
|
}
|
}
|