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);
本文来自博客园,作者:所遇所思,转载请注明原文链接:https://www.cnblogs.com/mynxg/p/17989279