java.lang.IllegalArgumentException: Last unit does not have enough valid bits解决方案
生活随笔
收集整理的這篇文章主要介紹了
java.lang.IllegalArgumentException: Last unit does not have enough valid bits解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用別人封裝好的 JwtUtil?的工具類時,自定義設置秘鑰明文,啟動后報錯:
//有效期為public static final Long JWT_TTL = 60 * 60 *1000L;// 60 * 60 *1000 一個小時//設置秘鑰明文public static final String JWT_KEY = "mhqfl";public static String getUUID(){String token = UUID.randomUUID().toString().replaceAll("-", "");return token;}報錯信息:
Exception in thread "main" java.lang.IllegalArgumentException: Last unit does not have enough valid bitsat java.util.Base64$Decoder.decode0(Base64.java:734)at java.util.Base64$Decoder.decode(Base64.java:526)at java.util.Base64$Decoder.decode(Base64.java:549)at org.example.util.JwtUtil.generalKey(JwtUtil.java:86)at org.example.util.JwtUtil.getJwtBuilder(JwtUtil.java:52)at org.example.util.JwtUtil.createJWT(JwtUtil.java:35)at org.example.util.JwtUtil.main(JwtUtil.java:108)報錯信息整整齊齊,如圖所示,在進行base64加密和解密的過程中會出現這個問題,報錯網上找了一些文章,根本原因為:編碼后的字符串長度不符合要求(要求長度是4的倍數)
所以,這里我設置的秘鑰明文有問題,最初設置的為??mhqfl? ,我將 mhqfl 改為 mhqfly,再次執行正常生成 jwt
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI4ZTllMGMzOWU4MWI0MTQ4OGFmZmE1OWRkN2RhNzgyZSIsInN1YiI6IjEyMzQiLCJpc3MiOiJtaCIsImlhdCI6MTY2OTIwNzc4MSwiZXhwIjoxNjY5MjExMzgxfQ.zKeEfgrU4_qeOt1FQ_M4SqQGJvwbYybEGuucTcx1GwE我又將 密鑰明文改為? 1-10 位的字符串,發現,1位和5位都不能正常執行,真坑!最后就用了6位。
總結
以上是生活随笔為你收集整理的java.lang.IllegalArgumentException: Last unit does not have enough valid bits解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我对 Firefox 放弃 PWA 支持
- 下一篇: 多多房产小程序v2.5.89