按照参数名ASCII码表升序顺序排序,生成签名用

/**
* 生成签名信息
* @param appSecret 产品私钥
* @param params 接口请求参数名和参数值map,不包括signature参数名
*/
public String genSignature(String appSecret, Map<String, String> params) {
String[] paramNames = params.keySet().toArray(new String[0]);
Arrays.sort(paramNames);

StringBuilder sb = new StringBuilder();
sb.append(appSecret);


for (String name : paramNames) {
String value = ObjectUtils.defaultIfNull(params.get(name), StringUtils.EMPTY);
sb.append(name).append(value);
}

sb.append(appSecret);

//DigestUtils.md5Hex(sb.toString().getBytes(StandardCharsets.UTF_8));

return sb.toString();
}
posted @   全琪俊  阅读(70)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
点击右上角即可分享
微信分享提示