如何在Google AppScript中生成Base64格式的SHA-256 HMAC?
Google AppScript生成Base64格式HMAC-SHA256验证码的正确实现
原代码的核心问题是错误地将HMAC签名的字节数组先转换为十六进制字符串,再对该字符串做Base64编码——这不符合标准的HMAC Base64输出逻辑。正确的做法是直接对HMAC生成的原始字节数组执行Base64编码。
修正后的代码
function generateHmacBase64() { const message = "message"; const secretKey = 'secret'; // 生成HMAC-SHA256签名的原始字节数组 const signatureBytes = Utilities.computeHmacSha256Signature(message, secretKey); // 直接对字节数组进行Base64编码 const base64Signature = Utilities.base64Encode(signatureBytes); Logger.log(base64Signature); }
关键说明
- 移除了字节数组转十六进制字符串的冗余步骤,直接利用
Utilities.base64Encode()处理签名字节数组,这与标准HMAC Base64输出的生成逻辑一致 - 优化了变量和函数命名,提升代码可读性
内容的提问来源于stack exchange,提问作者Wesley Jeftha
相关产品推荐
相关产品推荐

