JAVA用HmacSHA1加密 并且后续返回的数组通过Base64加密

1、通过HmacSHA1加密可用过下列方法

public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception {
    byte[] data = encryptKey.getBytes("UTF-8");
    // 根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
    SecretKey secretKey = new SecretKeySpec(data, "HmacSHA1");
    // 生成一个指定 Mac 算法 的 Mac 对象
    Mac mac = Mac.getInstance("HmacSHA1");
    // 用给定密钥初始化 Mac 对象
    mac.init(secretKey);

    byte[] text = encryptText.getBytes("UTF-8");
    // 完成 Mac 操作
    return mac.doFinal(text);
}

2、将返回的byte数组进行base64的加密

bytes就是调用的HmacSHA1Encrypt方法后返回的数组

String s = new String(Base64.encodeBase64(bytes), "UTF-8");
System.out.println(s);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值