求此段php代码的java实现。base64_encode(hash_hmac

base64_encode(hash_hmac('sha1',$public_key,$private_key,TRUE));
求此段php代码的java实现,网上找了好多都对不上。。

阅读 6.1k
2 个回答

可采用 Apache Commons Codec

Maven:

<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.10</version>
</dependency>

Gradle:

compile 'commons-codec:commons-codec:1.10'

参考代码如下:

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.HmacUtils;

public class Test {

    public static void main(String[] args) {

        String publicKey = "public_key";
        String privateKey = "private_key";

        String hashResult = HmacUtils.hmacSha1Hex(publicKey, privateKey);
        String encodeResult = Base64.encodeBase64String(hashResult.getBytes());

    }
}

这里 Base64 用的也是该库,如果 JDK 用的是 Java 8,则可以用内置的 Encoder,降低对外部库的依赖。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题