借助bouncycastle实现HmacSHA256,即带密钥的SHA256。
在线加密工具:
http://tool.oschina.net/encrypt?type=2
private 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"));
return new HexBinaryAdapter().marshal(digest);
} catch (Exception e) {
throw new RuntimeCryptoException("加密异常");
}
}