java.lang.IllegalArgumentException: Base64-encoded key bytes may only be specified for HMAC

一、遇到的问题

java.lang.IllegalArgumentException: Base64-encoded key bytes may only be specified for HMAC signatures.  If using RSA or Elliptic Curve, use the signWith(SignatureAlgorithm, Key) method instead.

原因:

这个异常通常表示在使用Java的JWT(JSON Web
Token)库时,使用了不支持的签名算法(SignatureAlgorithm)或者在使用HS(HMAC)算法时,尝试提供了Base64编码的密钥字节。解决这个问题的方法是确保你在使用HS算法时,提供的密钥是原始的字节数组,而不是Base64编码的字符串。

二、解决方法

比如这里用到的是 HS256 需要保持一致。

JwtUtil util = new JwtUtil("nxg", SignatureAlgorithm.HS256);

你可能感兴趣的:(java,开发语言)