我正在测试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;