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 @   勤快的懒羊羊  阅读(283)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示