HmacSHA1Encrypt算法

 

 1 /**
 2      * 使用 HMAC-SHA1 签名方法对对encryptText进行签名
 3      *
 4      * @param encryptText 被签名的字符串
 5      * @param encryptKey  密钥
 6      * @return 返回签名后的Base64串
 7      * @throws Exception
 8      */
 9     public static String HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception {
10         byte[] data = encryptKey.getBytes("UTF-8");
11         //根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
12         SecretKey secretKey = new SecretKeySpec(data, "HmacSHA1");
13         //生成一个指定 Mac 算法 的 Mac 对象
14         Mac mac = Mac.getInstance("HmacSHA1");
15         //用给定密钥初始化 Mac 对象
16         mac.init(secretKey);
17 
18         byte[] text = encryptText.getBytes("UTF-8");
19         /**
20          * BASE64Encoder encoder = new BASE64Encoder();
21          * String encode = encoder.encode(str.getBytes("UTF-8"));//编码
22          */
23         BASE64Encoder encoder = new BASE64Encoder();
24         byte[] signBytes = mac.doFinal(text);
25         String encode = encoder.encode(signBytes);//编码
26         return encode;
27     }

 

posted @ 2022-02-17 09:41  勤快的懒羊羊  阅读(277)  评论(0编辑  收藏  举报