java.lang.IllegalArgumentException: Illegal base64 character 3a 錯誤解決方案


測試時,並沒有測出該問題,到了生產環境才出現這個問題。

經過排查,主要是由於測試時,都是jdk8 的Base64 統一編碼,解碼;而生產環境是,不同的Base64編碼,jdk8 Base64解碼,這就會出現問題!

因為在jdk7中,Base64編碼包含換行,而在jdk8中,不包含換行,解碼就會出錯。

解決辦法:

1.使用apache common包中的org.apache.commons.codec.binary.Base64類進行編碼和解碼;

2.編碼和解碼使用統一jdk版本;

3.編碼之后或解碼之前去除換行符;

推薦第一種,簡單粗暴。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM