gpt4 book ai didi

java - php base64_encode hash_hmac 和 java 给出了不同的结果

转载 作者:行者123 更新时间:2023-11-30 10:53:32 25 4
gpt4 key购买 nike

我在 stack-overflow 中看到了一些相同的问题,但它对我没有帮助。

我有这个 php 代码

$signature=base64_encode(hash_hmac("sha256", trim($xmlReq), $signature_key, True));

我想编写与之等效的 java,这是我的 java 代码。

public static String encodeXML(String key, String data) {
String result = "";
try {
Mac mac = Mac.getInstance("HmacSHA256");
SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");
mac.init(secretKeySpec);
result = Base64.encodeBase64String(mac.doFinal(data.getBytes("UTF-8")));
} catch (NoSuchAlgorithmException | InvalidKeyException | UnsupportedEncodingException e) {
log.error("exception occured when encording HmacSHA256 hash");
}
return result;
}

但是他们给出了不同的结果。有人帮忙

最佳答案

Apache Commons 编解码器

 import org.apache.commons.codec.binary.Base64;
....
Base64.encodeBase64String(.....);

关于java - php base64_encode hash_hmac 和 java 给出了不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33950993/

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