gpt4 book ai didi

java - 如何在java中使用hmacutils生成HMAC SHA 256

转载 作者:行者123 更新时间:2023-12-02 02:16:40 30 4
gpt4 key购买 nike

我一直在尝试使用如下代码为 API 生成 HMAC:

public static void main(String[] args) {

byte[] hmacSha256 = HmacUtils.hmacSha256(API_SECRET, "totalParams");

System.out.println((Base64.getEncoder().encodeToString(hmacSha256)));
}

但是当我使用 API 调用中得到的字符串时,我收到错误:

{"code":-1100,"msg":"Illegal characters found in parameter 'signature'; legal range is '^[A-Fa-f0-9]{64}$'."}

我认为这意味着我必须转换为十六进制,但十六进制也不起作用。

我不关心实现,我只想要一个有效的签名。有人知道如何以任何方式生成有效签名吗?

最佳答案

参见this answer类似的问题,然后 this answerbyte[] 转换为十六进制,而不是使用 Base64。

(简短版本:您有 256 位哈希值,API 需要 64 个字符。Base64 为您提供 44(左右),但十六进制应该为您提供 64)

关于java - 如何在java中使用hmacutils生成HMAC SHA 256,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49216459/

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