[java] Apache Commons Codec의 Base64 인코딩과 디코딩

Apache Commons Codec은 자바에서 다양한 인코딩 및 디코딩 작업을 수행할 수 있는 유용한 라이브러리입니다. 이 중에서도 Base64 인코딩과 디코딩은 많이 사용되는 기능 중 하나입니다. Base64는 바이너리 데이터를 텍스트 형식으로 변환하는 방식으로, 데이터를 안전하게 전송하거나 저장하기 위해 자주 사용됩니다.

Base64 인코딩

Base64 인코딩은 바이트 배열을 텍스트 형식으로 변환하는 작업입니다. 이를 사용하면 바이너리 데이터를 문자열로 변환하여 사용할 수 있습니다. Apache Commons Codec의 Base64 클래스를 사용하면 간단하게 Base64 인코딩을 수행할 수 있습니다. 다음은 인코딩하는 예제 코드입니다:

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

public class Base64Example {
    public static void main(String[] args) {
        String message = "Hello, world!";
        byte[] bytes = message.getBytes();

        // Base64 인코딩
        String encodedMessage = Base64.encodeBase64String(bytes);
        System.out.println("Encoded: " + encodedMessage);
    }
}

위의 코드에서 Base64.encodeBase64String() 메서드는 인코딩 작업을 처리합니다. String 형식으로 바이트 배열을 전달하면 인코딩된 문자열을 반환합니다.

Base64 디코딩

Base64 디코딩은 인코딩된 문자열을 다시 원래의 바이트 배열로 변환하는 작업입니다. Apache Commons Codec의 Base64 클래스를 사용하면 손쉽게 디코딩할 수 있습니다. 다음은 디코딩하는 예제 코드입니다:

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

public class Base64Example {
    public static void main(String[] args) {
        String encodedMessage = "SGVsbG8sIHdvcmxkIQ==";

        // Base64 디코딩
        byte[] decodedBytes = Base64.decodeBase64(encodedMessage);
        String decodedMessage = new String(decodedBytes);
        System.out.println("Decoded: " + decodedMessage);
    }
}

위의 코드에서 Base64.decodeBase64() 메서드는 디코딩 작업을 처리합니다. 인코딩된 문자열을 바이트 배열로 변환하고, String으로 다시 변환하여 원래의 메시지를 얻을 수 있습니다.

결론

Apache Commons Codec의 Base64 클래스를 사용하면 간단하게 Base64 인코딩과 디코딩 작업을 수행할 수 있습니다. 데이터를 안전하게 전송하거나 저장해야 할 때 Base64를 사용하여 바이너리 데이터를 텍스트 형식으로 변환할 수 있습니다.

참고 문서