1、通过HmacSHA1加密可用过下列方法
public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception { byte[] data = encryptKey.getBytes("UTF-8"); // 根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称 SecretKey secretKey = new SecretKeySpec(data, "HmacSHA1"); // 生成一个指定 Mac 算法 的 Mac 对象 Mac mac = Mac.getInstance("HmacSHA1"); // 用给定密钥初始化 Mac 对象 mac.init(secretKey); byte[] text = encryptText.getBytes("UTF-8"); // 完成 Mac 操作 return mac.doFinal(text); }
2、将返回的byte数组进行base64的加密
bytes就是调用的HmacSHA1Encrypt方法后返回的数组
String s = new String(Base64.encodeBase64(bytes), "UTF-8"); System.out.println(s);