java 根据 字符串生成 hmac-sha256
时间: 2023-06-01 15:05:55 浏览: 233
HMAC HmacSHA256校验码生成
的签名,你能告诉我怎么做吗?
当然,我可以帮你解答这个问题。你可以使用如下代码:
```
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
public class HmacSha256Util {
public static String hmacSha256(String data, String key) throws NoSuchAlgorithmException, InvalidKeyException {
Mac mac = Mac.getInstance("HmacSHA256");
SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(), "HmacSHA256");
mac.init(secretKeySpec);
byte[] rawHmac = mac.doFinal(data.getBytes());
return Base64.getEncoder().encodeToString(rawHmac);
}
}
```
其中,输入参数data为待签名的字符串,key为密钥。输出结果为经过hmac-sha256签名后的字符串。
阅读全文