本文将介绍如何使用 MD5
对请求进行签名,并验证签名。
1. 构建待签名字符串
1.1 拼接请求参数
将请求参数列表中除 signature
参数外的所有非 null
的参数按照 ascll升序
规则排序后,按 key=value
格式组合后使用 &
进行拼接得到 paramString
:
String paramString = "access_key=AccessKey&fileId=2&plat=api×tamp=1625590924&version=100000"
1.2 拼接待签名字符串
将 1.1
中拼接的 paramString
继续按下面的方式拼接 AccessKeySecret
和 timestamp
:
String signSource = AccessKeySecret + timestamp + paramString
至此,我们得到了准备签名的字符串。
2. 计算待签名字符串的MD5值
String signature = MD5Utils.md5(signSource)
3. 将签名加入到请求的参数列表中
{
"access_key": "AccessKey",
"plat": "api",
"timestamp": "1625590924",
"version": "100000",
"fileId": "2",
"signature": signature
}