gpt4 book ai didi

google-apps-script - 如何从Google Apps脚本的computeHmacSha256Signature方法获取十六进制值?

转载 作者:行者123 更新时间:2023-12-02 03:06:28 24 4
gpt4 key购买 nike

我阅读了下面的 MD5 解决方案,但我不太明白。
get back a string representation from computeDigest(algorithm, value) byte[]

我想使用 HMAC-SHA256 哈希创建 API 签名。

var date = new Date();
var nonce = Math.floor(date.getTime()/1000);
var url = "https://mysweet.com/api/accounts"
var secret = "my_secret";
var signature = Utilities.computeHmacSha256Signature(nonce+url, secret);

但它返回字节数组[42,-8,-47,-21,..],并且不能直接用作API签名。有没有一种简单的方法可以从方法中获取十六进制值?还是转换?

最佳答案

我应用了方法you linked to并得到:

var sig = signature.reduce(function(str,chr){
chr = (chr < 0 ? chr + 256 : chr).toString(16);
return str + (chr.length==1?'0':'') + chr;
},'');;

这是一个测试函数:

function testSig() {
var date = new Date();
var message = "Violets are red";
var secret = "my_secret";
var signature = Utilities.computeHmacSha256Signature(message, secret);
var sig = signature.reduce(function(str,chr){
chr = (chr < 0 ? chr + 256 : chr).toString(16);
return str + (chr.length==1?'0':'') + chr;
},'');
Logger.log(sig); // fe70fa2e74b3ee0d67aa3c1d5c2844e558fea6802e8cfa58e5d4cbdf8bad25fe
//output from http://www.freeformatter.com/hmac-generator.html#ad-output is:
// fe70fa2e74b3ee0d67aa3c1d5c2844e558fea6802e8cfa58e5d4cbdf8bad25fe
}

关于google-apps-script - 如何从Google Apps脚本的computeHmacSha256Signature方法获取十六进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41232615/

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