java 实现 hmac_sha1加密

 

package com.File;
import java.io.*;
/**
 *  java实现hmac_sha1加密
 */
import java.security.InvalidKeyException; 
import java.security.NoSuchAlgorithmException;   
import javax.crypto.Mac; 
import javax.crypto.spec.SecretKeySpec;
public class Hachash {
 private static final String HMAC_SHA1 = "HmacSHA1";  
 
 
  public static String getSignature(String data,String key) throws Exception{ 
       byte[] keyBytes=key.getBytes(); 
           SecretKeySpec signingKey = new SecretKeySpec(keyBytes, HMAC_SHA1);    
           Mac mac = Mac.getInstance(HMAC_SHA1);    
          mac.init(signingKey);    
           byte[] rawHmac = mac.doFinal(data.getBytes()); 
           StringBuilder sb=new StringBuilder(); 
           for(byte b:rawHmac){ 
          sb.append(byteToHexString(b)); 
           } 
           return sb.toString();    
      }
  private static String byteToHexString(byte ib){ 
        char[] Digit={ 
           '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' 
         }; 
       char[] ob=new char[2]; 
        ob[0]=Digit[(ib>>>4)& 0X0f]; 
         ob[1]=Digit[ib & 0X0F]; 
        String s=new String(ob); 
         return s;          
       }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值