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

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

可采用 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,降低对外部库的依赖。

  • 《php和mysql web开发(原书第三版)》中创建CMS系统例子关于mysql的出错问题?
  • 网站运营要求得到广告分发平台的IP,PV数量,求思路
  • php 的 medoo,where参数如果为多个子项,必须用‘AND’?
  • php有没有定义全局变量的方法?
  • 关于Java AbstractQueuedSynchronizer 类的enq 方法
  • wamp下通过mysqldump导出数据库存放位置在哪里?
  • 编译PHP提示zip错误,请问怎么解决
  • 如何在propreties文件中用占位符引用另一个properties文件中的内容
  • 求一个博客用的tags轮子,怎么都是laravel的。
  • drupal中如何将webform submissions放到my account页面里
  • java的DriverManager.getConnection为什么返回同一个connection?