gpt4 book ai didi

javascript - 在 javascript 中返回 hmac key

转载 作者:行者123 更新时间:2023-12-03 01:37:56 24 4
gpt4 key购买 nike

从我的 api 提供商那里,我有一个应该生成 hmac key 的代码。

<html>
<head>
</head>
<body>
<p id="demo"></p>
<script>var BuckarooHmac = (function () {
var self = {};

function getEncodedContent(content) {
if (content) {
var md5 = CryptoJS.MD5(content);
var base64 = CryptoJS.enc.Base64.stringify(md5);
return base64;
}

return content;
}

function getHash(websiteKey, secretKey, httpMethod, nonce, timeStamp, requestUri, content) {
var encodedContent = getEncodedContent(content);

var rawData = websiteKey + httpMethod + requestUri + timeStamp + nonce + encodedContent;
var hash = CryptoJS.HmacSHA256(rawData, secretKey);
var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);

return hashInBase64;
}

function getTimeStamp() {
return Math.floor((new Date).getTime() / 1000);
}

function getNonce() {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < 16; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text;
}

self.GetAuthHeader = function (requestUri, websiteKey, secretKey, content, httpMethod) {
var nonce = getNonce();
var timeStamp = getTimeStamp();
content = content ? content : "";
var url = encodeURIComponent(requestUri).toLowerCase();
return "hmac " + websiteKey + ":" + getHash(websiteKey, secretKey, httpMethod, nonce, timeStamp, url, content) + ":" + nonce + ":" + timeStamp;
}
return self;
document.getElementById("demo").innerHTML = self.GetAuthHeader();
}());

</script>
</body>
</html>

我不习惯 JavaScript。我正在尝试弄清楚如何在屏幕上打印生成的 key 。我试过这个:

document.getElementById("demo").innerHTML = self.GetAuthHeader();

我知道我一定做错了。我现在只需要朝着正确的方向插入。有谁可以帮助我吗?

最佳答案

您正在尝试在函数的 return 语句之后执行操作。由于函数已返回,因此永远不会到达该代码。

相反,请在以下位置之前执行此操作:

document.getElementById("demo").innerHTML = self.GetAuthHeader();
return self;

或者,更好的是,如果此代码是由 vendor 提供的,那么您可能不应该编辑它。更新会删除您的编辑,并且 vendor 支持也会受到影响。相反,完全在代码之外执行您的操作:

var BuckarooHmac = (function () {
// vendor code
}());

document.getElementById("demo").innerHTML = BuckarooHmac.GetAuthHeader();

关于javascript - 在 javascript 中返回 hmac key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50984888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com