Base64는 64문자의 영숫자를 이용하여 멀티 바이트 문자열이나 이진 데이터를 다루기 위한 인코딩 방식.
Simple 하게 java.util.Base64 에서 제공하는 기능을 사용.
인코딩에는 java.util.Base64.Encoded#encode() 메소드, 디코딩에는 java.util.Base64.Decode#decode() 메소드를 사용.
Base64 인코딩, 디코딩을 자주하는데, 자체 라이브러리가 아닐 경우 byte 를 다시 String 으로 변환해서 테스트하는 게 귀찮아서 history로 남깁니다.

Base64
Base64.Encoder
Base64.Decoder

import java.io.UnsupportedEncodingException;
import java.util.Base64;
import java.util.Base64.Decoder;
import java.util.Base64.Encoder;
import java.nio.charset.StandardCharsets;


public class Base64EncodeDecodeSample {

    public static void main(String[] args) throws UnsupportedEncodingException {
        String target = "암호화할내용을적어주세요";      
        byte[] targetBytes = target.getBytes(StandardCharsets.UTF_8);

        // Base64 인코딩 ///////////////////////////////////////////////////
        Encoder encoder = Base64.getEncoder();

        // Encoder#encode(byte[] src) :: 바이트배열로 반환
        byte[] encodedBytes = encoder.encode(targetBytes);
        System.out.println(new String(encodedBytes));

        // Encoder#encodeToString(byte[] src) :: 문자열로 반환
        String encodedString = encoder.encodeToString(targetBytes);
        System.out.println(encodedString);

        // Base64 디코딩 ///////////////////////////////////////////////////
        Decoder decoder = Base64.getDecoder();

        // Decoder#decode(bytes[] src)
        byte[] decodedBytes1 = decoder.decode(encodedBytes);
        // Decoder#decode(String src)
        byte[] decodedBytes2 = decoder.decode(encodedString);

        // 디코딩한 문자열을 표시
        String decodedString = new String(decodedBytes1, StandardCharsets.UTF_8);
        System.out.println(decodedString);

        System.out.println(new String(decodedBytes2, StandardCharsets.UTF_8));
    }

}

참조