当使用反斜杠字符时,HMAC SHA256不会生成预期的Hash Paw 2.2.2

时间:2015-08-06 22:23:46

标签: paw-app

我正在测试Paw应用程序,它很棒。开发人员做了出色的工作,似乎他真的很喜欢他的应用程序。

我发现当输入包含反斜杠字符或使用它的组合时,HMAC Sha256加密函数不会返回预期的散列" \ n" (没有引号)。

示例:

输入:GET\n/test/api

键:BE8B3551-1892-4544-9FDC-EC0B2C8608F8

结果: f9VF6Sy0oq645lKRcXF3N96aPZLy8qhwrbJconOJhEI=

预期: VciY9BUCzL3KUUvFtmcRSuP2N5IkQ2gLvjjYgd3T9Uc=

我正在使用下一个javascript代码测试API的正确哈希值,该代码基于CryptoJS脚本:



<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/hmac-sha256.js"></script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/components/enc-base64-min.js"></script>

<script>
    var message = 'GET\n/test/api';
var key = 'BE8B3551-1892-4544-9FDC-EC0B2C8608F8';
  var hash = CryptoJS.HmacSHA256(message, key);
  var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);
document.write(hashInBase64);
</script>
&#13;
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/components/enc-base64-min.js"></script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/hmac-sha256.js" ></script>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

这里的问题是,Paw解释你的\n字符串实际上是字符\,后跟字符n而不是换行符。

您可以通过按Option / Alt + Enter插入实际换行符。 (该字段会出现视觉故障,您只能一次看到一行,但结果是正确的)

HMAC-256 Signature with Paw