1
这是我的问题:Base64_encode不同之间的Java和PHP
我有一个JAVA函数来生成一个加密的字符串。我必须在PHP中做同样的事情。
我的Java功能:
String generateSignature() {
byte[] Sequence = ("hello").getBytes("UTF-8");
Mac HMAC = Mac.getInstance("HMACSHA256");
HMAC.init("SECRET_KEY");
byte[] Hash = HMAC.doFinal(Sequence);
String Signature = new String(Base64.encodeBase64(Hash));
return Signature;
}
我的PHP函数:
function generateSignature() {
$sequence = "hello";
$encrypted = hash_hmac('sha256', $sequence, "SECRET_KEY");
return base64_encode($encrypted);
}
的两个函数的返回值是不一样的。我注意到,在编码到64位之前,两个函数都有相同的结果。所以,对我而言,问题不在于密钥的生成,而在于编码。
有人能帮忙吗?
有什么区别? – Esailija
你好..我认为你正在与woocommerce apis合作。 我也有同样的问题。你是否成功地用java连接到apis?请帮我,我得到签名不匹配错误 –