我已经使用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的价值结束。
这就是我所知道的。任何帮助将非常感激。如果我能提供任何其他信息,请告诉我。