使用cryptoJS hmacMD5的意外结果

时间:2015-06-23 22:01:12

标签: javascript encryption cryptography md5

我已经使用cryptoJS库设置了一些加密:

在评论后添加更多代码

以下是完整的脚本,我会要求我们的供应商提供新的秘密

<script src="https://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/hmac-md5.js"></script>

<script>

var now = new Date().getTime();
var aid = 1941816;
var sid = {{trialpay cookie values}}.sid;
var user = {{user id}};
var query_string = '?tp_aid=' + aid + '&tp_sid=' + sid + '&tp_t=' + now;
// query_string var during instance in question was this = '?tp_aid=1941816&tp_sid=U1281574706&tp_oid=103060921&tp_t=1435078629604'; 

// hash md5
var key = '8b2b7d7dc4063bc0bf30986536f8816c71405c16fb0cc4677db1e349af157baa';
var hash = CryptoJS.HmacMD5(query_string, key);
hash = hash.toString();

//passback
var tp_img = document.createElement('img');
tp_img.height=1;
tp_img.width = 1;

//tp_img.src = "https://tpc.trialpay.com/" + query_string +  "&tp_v1=" + hash;


tp_img.src = "https://tpc.trialpay.com/?tp_aid=" +  aid +
                           "&tp_sid=" + sid +
                           "&tp_oid=" + encodeURIComponent(user) +
                           "&tp_t=" + now + 
                           "&tp_v1=" + hash;

document.body.appendChild(tp_img);

</script>

在有问题的测试实例中,我知道被散列的变量query_string就是这个值:

?tp_aid=1941816&tp_sid=U1281574706&tp_oid=103060921&tp_t=1435078629604

我们的供应商收到的输出是这个值:

727a9075e3c8e7a7758e3f6a0369a476

他们告诉我他们期待这个价值:

60eadcb01f3f04a3d7169a1dd0199943

当我使用console.log()在我自己的环境中检查输出时,我得到了预期的值。所以我不知道他们如何得到476的价值结束。

这就是我所知道的。任何帮助将非常感激。如果我能提供任何其他信息,请告诉我。

0 个答案:

没有答案