wujianwei
18 小时以前 eb907c18bfe80941db799b0ad066a49240dfd016
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.ruoyi.common.utils;
 
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.*;
 
public class SignUtil {
    
    /**
     * 生成16位随机字符串
     */
    public static String generate16CharRandomString() {
        String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        StringBuilder sb = new StringBuilder();
        Random random = new Random();
        for (int i = 0; i < 16; i++) {
            sb.append(chars.charAt(random.nextInt(chars.length())));
        }
        return sb.toString();
    }
    
    /**
     * 生成SHA256签名(自定义实现,确保与API要求一致)
     */
    public static String signParamsSha256(Map<String, Object> params, String appid, 
                                         String nonce, String timestamp, String secret) {
       return cn.hutool.crypto.SignUtil.signParamsSha256(params,appid,nonce,timestamp,secret);
    }
}