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 params, String appid, String nonce, String timestamp, String secret) { return cn.hutool.crypto.SignUtil.signParamsSha256(params,appid,nonce,timestamp,secret); } }