1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | 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 ; } | cs |
'개발' 카테고리의 다른 글
[java] 썸네일 (0) | 2014.10.07 |
---|---|
[java] 한글 파일 다운로드시 파일명이 ie에서만 깨지는 증상 (0) | 2014.10.07 |
[javascript] 검색 (0) | 2014.10.01 |
[was][tomcat] 톰켓 2개의 웹사이트 구동 (0) | 2014.09.24 |
[javascript] 타이틀 변경 스크립트 (0) | 2014.09.23 |