티스토리 뷰

[JAVA] Base64 인코딩, 디코딩 (Java8+, java.util.Base64)


Base64는 64문자의 영숫자를 이용하여 멀티 바이트 문자열이나 이진 데이터를 다루기 위한 인코딩 방식.

인코딩에는 java.util.Base64.Encoded#encode() 메소드, 디코딩에는 java.util.Base64.Decode#decode() 메소드를 사용.


API Documentation


Base64 https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html




import java.io.UnsupportedEncodingException; import java.util.Base64; import java.util.Base64.Decoder; import java.util.Base64.Encoder; public class Base64EncodeDecodeSample { public static void main(String[] args) throws UnsupportedEncodingException { String target = "암호화할내용을적어주세요"; byte[] targetBytes = target.getBytes("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, "UTF-8"); System.out.println(decodedString); System.out.println(new String(decodedBytes2, "UTF-8")); } }


댓글

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



Total
Today
Yesterday
최근에 달린 댓글