package com.flow.util; import java.io.IOException; import java.security.Security; import java.text.ParseException; import java.util.Base64; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import org.bouncycastle.crypto.RuntimeCryptoException; import org.bouncycastle.jce.provider.BouncyCastleProvider; public class HmacSHA256 { public HmacSHA256() { } public static String encrytSHA256(String content, String secret) { try { Security.addProvider(new BouncyCastleProvider()); SecretKey secretKey = new SecretKeySpec(secret.getBytes("UTF8"), "HmacSHA256"); Mac mac = Mac.getInstance(secretKey.getAlgorithm()); mac.init(secretKey); byte[] digest = mac.doFinal(content.getBytes("UTF-8")); String var5 = Base64.getEncoder().encodeToString(digest); return content; } catch (Exception var6) { throw new RuntimeCryptoException("加密异常"); } } public static void main(String[] args) throws ParseException, IOException { System.out.println(encrytSHA256("加密内容", "key")); } }