我试图与Web API集成。看看他们如何使用SHA256和HMAC来生成他们的签名。然而,他们也使用被称为“随机数”的东西,我不得不查找。这个api使用我们都知道的秘密,并结合请求的url来生成“签名”。HMAC和SHA256 - 如何使用随机数进行验证
那么,我是否使用它们用于生成签名的同一个随机数来执行验证?
我正在寻找他们如何在客户端生成他们的签名样本。
var message = "https://my.server.com/new-callback?reqID=test&nonce=8cf95201-4d3c-4397-9117-d7ee6ad89d93";
var secret = "g394g732vhsdfiv34";
var hash = CryptoJS.HmacSHA256(message, secret);
var signature = hash.toString(CryptoJS.enc.Base64);
result of signature...
// ihyCCfTHog7TDQYT4tQM5ISYSjEIaChSeJmIo3UMa + U =
不过,我不使用这个工具
http://www.freeformatter.com/hmac-generator.html
因此,为了验证这一在我结束(API中) ,我需要使用相同的输入来计算签名,然后简单比较结果字符串,是否正确?
此“nonce”组件的用途是什么?从我读过的内容来看,它或多或少地起到了与GUID相同的作用。
我错过了什么?