import cn.hutool.crypto.digest.HMac;
import cn.hutool.crypto.digest.HmacAlgorithm;
public class SignTest {
public static void main(String[] args) {
// 应用 ID
String appId = "";
// 应用 secret
String appSecret = "";
// 请求时间戳(发送请求的时间戳)
String timestamp = "";
// 随机字符串 (自定义随机字符串)
String nonce = "";
// 请求 body (请求 body , 需保证发送方与接收方的数据一致,建议在拦截器里做对应认证)
String body = "";
// 签名串
String signContent = String.format("%s\n%s\n%s\n%s\n", appId, timestamp, nonce, body);
// 签名值
HMac hMac = new HMac(HmacAlgorithm.HmacSHA1, appSecret.getBytes());
String signature = hMac.digestHex(signContent);
System.out.println(signature);
}
}
$sudAppId = '1719669845797171201';
$sudTimestamp = '1698912908000';
$sudNonce = 'lFM9MKckbGYiZAQG';
$body = '{"platform":2}';
$signContent = $sudAppId . '\n' . $sudTimestamp . '\n'
. $sudNonce . '\n' . json_encode($body) .'\n';
$appSecret = 'test';
$signatureString = $signContent;
$sign = hash_hmac('sha1', $signatureString, $appSecret,false);
echo $sign;
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.