HMacMD5 签名生成方式

HMacMD5 签名生成方式一.工具类​ 原文地址: https://blog.csdn.net/chy2z/article/details/80828770>package cn.gdmcmc.iovs.hamcmd5.hamacmd5;import java.security.MessageDigest;import java.security.NoSuchAlgorithm...
摘要由CSDN通过智能技术生成

HMacMD5 签名生成方式

一.工具类

​ 原文地址: https://blog.csdn.net/chy2z/article/details/80828770>

package cn.gdmcmc.iovs.hamcmd5.hamacmd5;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;



public class HMacMD5 {
   

   /**
    * 计算参数的md5信息
    * 
    * @param str
    *            待处理的字节数组
    * @return md5摘要信息
    * @throws NoSuchAlgorithmException
    */
   private static byte[] md5(byte[] str) throws NoSuchAlgorithmException {
   
      MessageDigest md = MessageDigest.getInstance("MD5");
      md.update(str);
      return md.digest();
   }

   /**
    * 将待加密数据data,通过密钥key,使用hmac-md5算法进行加密,然后返回加密结果。 参照rfc2104 HMAC算法介绍实现。
    * @param key
    *            密钥
    * @param data
    *            待加密数据
    * @return 加密结果
    * @throws NoSuchAlgorithmException
    */
   public static byte[] getHmacMd5Bytes(byte[] key, byte[] data)
         throws NoSuchAlgorithmException {
   
      /*
       * HmacMd5 calculation formula: H(K XOR opad, H(K XOR ipad, text))
       * HmacMd5 计算公式:H(K XOR opad, H(K XOR ipad, text))
       * H代表hash算法,本类中使用MD5算法,K代表密钥,text代表要加密的数据 ipad为0x36,opad为0x5C。
       */
      int length = 64;
      byte[] ipad = new byte[length];
      byte[] opad = new byte[length];
      for (int i = 0; i < 64; i++) {
   
         ipad[i] = 0x36;
         opad[i] = 0x5C;
      }
      byte[] actualKey = key; // Actual key.
      byte[] keyArr = new 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值