puzhibing
2026-04-10 4f8b07e136c39cc22fbadfd2c869578bb9827a18
xp-robotaxi-vehicle-convoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/util/HMACSHA1.java
@@ -0,0 +1,35 @@
package com.xiaopeng.vehicleConvoy.util;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
public class HMACSHA1 {
   private static final String MAC_NAME = "HmacSHA1";
   private static final String ENCODING = "UTF-8";
   /**
    * 使用 HMAC-SHA1 签名方法对对encryptText进行签名
    *
    * @param encryptText 被签名的字符串
    * @param encryptKey  密钥
    * @return
    * @throws Exception
    */
   public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception {
      byte[] data = encryptKey.getBytes(ENCODING);
      // 根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
      Mac mac = Mac.getInstance(MAC_NAME);
      SecretKey secretKey = new SecretKeySpec(data, MAC_NAME);
      // 生成一个指定 Mac 算法 的 Mac 对象
      // 用给定密钥初始化 Mac 对象
      mac.init(secretKey);
      byte[] text = encryptText.getBytes(ENCODING);
      // 完成 Mac 操作
      return mac.doFinal(text);
   }
}