본문으로 바로가기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.



BASE64 인코딩 디코딩하기

개발하면서 Base64에 대해 쓰는건 알고 있지만 왜 쓰는지 감을 못잡았기에 BASE64에 대한 개념을 포스팅 한 적이 있었습니다. 개념에 대해 알고 싶으시면 http://ktko.tistory.com/114 를 봐주시면 될 것 같습니다.


JAVA에서 BASE64 인코딩 디코딩을 진행하는 방법을 2가지로 정리하였습니다.

1. JAVA에서 제공하는 클래스를 이용하는 방식

2. 오픈 소스 라이브러리(Apache Commons Codec)를 이용하는 방식


2번 방식으로 진행하기 위해서는 아래 링크로 들어가 BASE64를 제공하는 Apache Commons Codec 라이브러리를 다운받아야 합니다.


http://mvnrepository.com/artifact/commons-codec/commons-codec/1.9 


1. JAVA에서 제공하는 클래스를 이용하는 방식



import java.util.Base64; import java.util.Base64.Decoder; import java.util.Base64.Encoder; public class Base64Test { public static void main(String[] args) { base64(); } public static void base64() { String text = "ktko"; byte[] targetBytes = text.getBytes(); // Base64 인코딩 /////////////////////////////////////////////////// Encoder encoder = Base64.getEncoder(); byte[] encodedBytes = encoder.encode(targetBytes); // Base64 디코딩 /////////////////////////////////////////////////// Decoder decoder = Base64.getDecoder(); byte[] decodedBytes = decoder.decode(encodedBytes); System.out.println("인코딩 전 : " + text); System.out.println("인코딩 text : " + new String(encodedBytes)); System.out.println("디코딩 text : " + new String(decodedBytes)); } }


2. 오픈 소스 라이브러리(Apache Commons Codec)를 이용하는 방식

import org.apache.commons.codec.binary.Base64; public class Base64Test2 { public static void main(String args[]) { base64Case1(); } public static void base64() { String text = "ktko"; /* base64 encoding */ byte[] encodedBytes = Base64.encodeBase64(text.getBytes()); /* base64 decoding */ byte[] decodedBytes = Base64.decodeBase64(encodedBytes); System.out.println("인코딩 전 : " + text); System.out.println("인코딩 text : " + new String(encodedBytes)); System.out.println("디코딩 text : " + new String(decodedBytes)); } }


개인적으로 오픈 소스 라이브러리를 사용하는 것을 추천합니다.!! 편하니깐!



Test.zip