URL中加入BASE64加密的字串引起的問題(java.net.MalformedURLException:Illegal character in URL)
阿新 • • 發佈:2019-02-05
序
昨天在做一個 Demo 的時候,由於是呼叫第三方的介面,採用的是 HTTP 的通訊協議,按照文件上的說明,需要把引數進行加密後加入到 URL 中,但是,就是這個看似普普通通的操作,卻讓我著實費了很大的勁。背景
關於 BASE64,我不想說太多,因為這是很基本的一種編碼方式,或者說是加密方式。不瞭解的可以到我前面的部落格中去看看,關於加密,前邊有一個系列的文章。下面說說出現這個問題的情景。 昨天拿到一個任務,寫一個 Demo,目的是查詢一系列的資訊,當然,需要呼叫一個第三方的介面,根據介面文件中的說明,該介面採用的是 HTTP 協議,Post 的資料需要進行 BASE64 加密,由於我之前自己封裝了一系列的加密演算法,因此,就直接拿過來用了。這裡先說明一下,在我封裝的加密演算法中,用到的是 sun 的 BASE64Encoder,也就是說,我引入的是這個類: import sun.misc.BASE64Encoder; 這裡看不出有什麼問題,請接著看下邊。出現的問題
解決方案
- com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
- org.apache.commons.codec.binary.Base64;