[Java] 纯文本查看 复制代码 // 对排序后的参数字符串计算摘要,sha256Hex
String signText = sha256Hex(paramToSignStr);
// 用时间戳计算临时签名密钥
byte[] secretSigning = hmac256((appSecret).getBytes(UTF8), timestamp);
// 计算参数签名并统一转换成小写
String signature = DatatypeConverter.printHexBinary(hmac256(secretSigning, signText)).toLowerCase();
一段JAVA 签名代码, 用的 hmac256的方式, 参数如下,我计算的结果总是不对呢?
paramToSignStr=X-FASC-Api-SubVersion=5.1&X-FASC-App-Id=80003826&X-FASC-Grant-Type=client_credential&X-FASC-Nonce=7fa3b81b4d4944598d60c02d81001e0a&X-FASC-Sign-Type=HMAC-SHA256&X-FASC-Timestamp=1762417888529
appSecret=ZKQWIGJTAHKUHY0KGVFA3T2I9JM9XHDB
timestamp=1762417888529
最后的结果应该是:5dc83894b253c43a88ffd5be1dc939a1805395aaee4c1ccfaf40b29dd38e811b
|