google-apps-script - Google App Script HMAC-SHA-256 错误值
问题描述
我一直在与以下人员斗争一段时间,并想寻求帮助。
我正在尝试使用 Apps 脚本中的 HMAC-SHA-256 算法计算字符串的签名。
并尝试使用此处提供的输入和关键示例重现示例
var input_string = "1KAD46OrT9HafiKdsXeg1588925778000"
var key_string = "4OHBOnWOqaEC1mWXOpVL3yV50s0qGSRC"
var test=Utilities.base64EncodeWebSafe(
Utilities.computeHmacSha256Signature(
input_string,
key_string
)
);
以上返回:
zqr7XM3C9yOp_T6R09IjjuDdmm18PDZd61D8KvJ3qoM=
ceaafb5ccdc2f723a9fd3e91d3d2238ee0dd9a6d7c3c365deb50fc2af277aa83
知道我做错了什么吗?
谢谢 !!
解决方案
base64EncodeWebSafe(data)接受要编码的字符串数据。而computeHmacSha256Signature(value, key)返回一个表示输出签名的字节数组。
您需要将字节数组转换为十六进制字符串。
function test(){
var input_string = "1KAD46OrT9HafiKdsXeg1588925778000"
var key_string = "4OHBOnWOqaEC1mWXOpVL3yV50s0qGSRC"
var test = Utilities.computeHmacSha256Signature(input_string,key_string).reduce(function(str,chr){
chr = (chr < 0 ? chr + 256 : chr).toString(16);
return str + (chr.length==1?'0':'') + chr;
},'');;
Logger.log(test);
}
输出: ceaafb5ccdc2f723a9fd3e91d3d2238ee0dd9a6d7c3c365deb50fc2af277aa83
推荐阅读
- c# - 询问用户提取 Zip 和提取文件高级安装程序
- python - 如何在 AWS lambda 中导入任何引发无法导入错误的模块
- laravel - 如何在 whereIn 中将两个查询合并为一个
- javascript - 我的 Discord.js 机器人在尝试发送 DM 时出错
- python-3.x - 如何在 python 中解决“jupyter_client.kernelspec.NoSuchKernel: No such kernel named iqsharp”?
- postman - 将 FastAPI 规范导入 Postman 时出现问题
- pointers - 如何修改结构指针类型的接口值
- google-cloud-platform - Google Cloud 403 错误拥有项目的结算帐户在状态下被禁用
- algorithm - Haskell 快速排序实现(如何获得最佳性能?)
- python - Python 主脚本不等待 Tkinter GUI 中的用户响应