当使用HMAC来验证API调用时,通常要散列的消息包含很多似乎没有添加任何内容的内容。例如,这里有一个API来生成签名的步骤:HMAC消息格式化
hmacsha1(HTTP VERB + URI + JSON_REQUEST_CONTENT + DATETIME, "secret")
为什么不干脆像:
hmacsha1(JSON_REQUEST_CONTENT, "secret")
这是假设JSON_REQUEST_CONTENT是一个JSON字符串包含所有相关的请求信息。
在我看来,添加HTTP VERB和URI(或任何额外的非特定于内容的信息)只是增加了消息的长度,我不明白其好处。
谢谢!
请问您能解释一下如何比较日期时间或随机数?如果我发送我的日期时间,它可能已经改变了它的服务器。那么你怎么能比较它们呢?谢谢! – tau