2012-06-19 78 views
-4

我想在java中將字節數組轉換爲base64格式。
我的問題是sun.misc.BASE64Decoder無法使用?有其他選擇嗎?如何使用base64進行加密和解密?

byte[] buf = new byte[] { 0x12, 0x23 }; 
String s = new sun.misc.BASE64Encoder().encode(buf); 
+0

這段代碼有什麼問題?它確實有效... –

+2

你的問題完全不清楚。 「Base64不支持我的程序」是什麼意思?你想做什麼?你知道base64只是一種用文本表示二進制數據的方式嗎? (這是不加密的。)請閱讀http://tinyurl.com/so-hints –

+0

看到答案http://stackoverflow.com/questions/469695/decode-base64-data-in-java – YMomb

回答

0

我會建議使用這個庫:MigBase64

使用方法如下:

byte [] buf = new byte[]{0x12, 0x23}; 
String s = Base64.encode(buf); 
+0

發生錯誤。錯誤是Base64無法解析。 – Jahir

+0

您應該從http://migbase64.sourceforge.net/下載並將jar添加到您的類路徑中。 – Subin

+0

它實際上不是一個jar,它只是一個源文件。 – rtheunissen

0
  1. Base64是不是一種加密技術。它只是一種編碼機制。如果你正在尋找加密技術,你就會吼出錯誤的樹。

  2. import sun.misc.BASE64Decoder不是'頭文件',它是一個導入語句。如果您使用非Sun/Oracle JDK,它可能無法編譯。它可能會給你警告,你應該聽從。由於您實際上沒有說過您有什麼問題,因此無法進一步評論。

+0

謝謝。我導入了這個語句,我得到一個錯誤信息是'訪問限制:BASE64Decoder類型由於對所需庫C:\ Program Files \ Java \ jre6 \ lib \ rt.jar' – Jahir

+0

@Jahir的限制而無法訪問所以(a)調整您的IDE不會將其視爲錯誤,或者(b)使用另一個Base-64編碼器,例如Apache。 – EJP

相關問題