[JAVA] Base64 인코딩 (Base64Encode) / Base64 디코딩 (Base64Decode)

[JAVA] Base64 인코딩 (Base64Encode) / Base64 디코딩 (Base64Decode)

* 필요 라이브러리

commons-codec-1.8.jar 파일을 임포트 하였다.

(org.apache.commons.codec.binary.Base64 클래스를 사용하기 위함)

* 예제 소스코드

package com.bb.test;

import java.nio.charset.Charset;

import org.apache.commons.codec.binary.Base64;

public class Base64Test {

    public static void main(String[] args) {
       
        Base64Test base64Test = new Base64Test();
       
        try {
            String originStr = “테스트 dbcdsfqad 문자열ㅇㅇ”;
            String encodeStr = base64Test.base64Encode(originStr, “EUC-KR”);
            String decodeStr = base64Test.base64Decode(encodeStr, “EUC-KR”);
           
            System.out.println(“originStr : ” + originStr);
            System.out.println(“encodeStr : ” + encodeStr);
            System.out.println(“decodeStr : ” + decodeStr);
           
        } catch (Exception e) {
            e.printStackTrace();
        }
       
        System.out.println(“———-“);
       
        try {
            String originStr2 = “테스트 dbcdsfqad 문자열ㅇㅇ”;
            String encodeStr2 = base64Test.base64Encode(originStr2, “UTF-8”);
            String decodeStr2 = base64Test.base64Decode(encodeStr2, “UTF-8”);
           
            System.out.println(“originStr2 : ” + originStr2);
            System.out.println(“encodeStr2 : ” + encodeStr2);
            System.out.println(“decodeStr2 : ” + decodeStr2);
       
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
   
    public String base64Encode(String str, String charset) throws Exception {
        byte[] bytes = str.getBytes(charset);
        String result = Base64.encodeBase64String(bytes);
        return result;
    }
   
    public String base64Decode(String str, String charset) throws Exception {
        byte[] bytes = Base64.decodeBase64(str);
        String result = new String(bytes, Charset.forName(charset));
        return result;
    }
}

* 예제 소스코드 실행결과

originStr : 테스트 dbcdsfqad 문자열ㅇㅇ
encodeStr : xde9usauIGRiY2RzZnFhZCC5rsDav62kt6S3
decodeStr : 테스트 dbcdsfqad 문자열ㅇㅇ
———-
originStr2 : 테스트 dbcdsfqad 문자열ㅇㅇ
encodeStr2 : 7YWM7Iqk7Yq4IGRiY2RzZnFhZCDrrLjsnpDsl7TjhYfjhYc=
decodeStr2 : 테스트 dbcdsfqad 문자열ㅇㅇ