2009. 9. 21. 10:18
Base64 Encoding/Decoding 예제
2009. 9. 21. 10:18 in 개발/자바
Base64 Encoding/Decoding 예제
package monky.libs.security;
import sun.misc.*;
import java.io.*;
public class Base64Utils {
/**
* Base64Encoding 방식으로 바이트 배열을 아스키 문자열로 인코딩한다.
* In-Binany, Out-Ascii
*
* @param encodeBytes 인코딩할 바이트 배열(byte[])
* @return 인코딩된 아스키 문자열(String)
*/
public static String encode(byte[] encodeBytes) {
byte[] buf = null;
String strResult = null;
BASE64Encoder base64Encoder = new BASE64Encoder();
ByteArrayInputStream bin = new ByteArrayInputStream(encodeBytes);
ByteArrayOutputStream bout = new ByteArrayOutputStream();
try {
base64Encoder.encodeBuffer(bin, bout);
} catch (Exception e) {
System.out.println("Exception");
e.printStackTrace();
}
buf = bout.toByteArray();
strResult = new String(buf).trim();
return strResult;
}
/**
* Base64Decoding 방식으로 아스키 문자열을 바이트 배열로 디코딩한다.
* In-Ascii, Out-Binany
*
* @param strDecode 디코딩할 아스키 문자열(String)
* @return 디코딩된 바이트 배열(byte[])
*/
public static byte[] decode(String strDecode) {
byte[] buf = null;
BASE64Decoder base64Decoder = new BASE64Decoder();
ByteArrayInputStream bin = new ByteArrayInputStream(strDecode.getBytes());
ByteArrayOutputStream bout = new ByteArrayOutputStream();
try {
base64Decoder.decodeBuffer(bin, bout);
} catch (Exception e) {
System.out.println("Exception");
e.printStackTrace();
}
buf = bout.toByteArray();
return buf;
}
public static void main(String args[]) {
String strOrgin = "Monky";
String strDecode = null;
byte[] bytOrgin = strOrgin.getBytes();
System.out.println("OriginString=" + strOrgin);
String strEncoded = Base64Utils.encode(bytOrgin);
System.out.println("EncodedString=" + strEncoded);
byte[] bytDecoded = Base64Utils.decode(strEncoded);
strDecode = new String(bytDecoded);
System.out.println("DecodedString=" + strDecode);
}
}
수행결과
OriginString=Monky
EncodedString=TW9ua3k=
DecodedString=Monky
/**
* BASE64 Encoder
* @param str
* @return
* @throws java.io.IOException
*/
public static String base64Encode(String str) throws java.io.IOException {
sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
byte[] b1 = str.getBytes();
String result = encoder.encode(b1);
return result ;
}
/**
* BASE64 Decoder
* @param str
* @return
* @throws java.io.IOException
*/
public static String base64Decode(String str) throws java.io.IOException {
sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
byte[] b1 = decoder.decodeBuffer(str);
String result = new String(b1);
return result ;
}