Base64는 이진 데이터를 텍스트 형식으로 변환하는 인코딩 방식입니다.
네트워크 전송, 이메일 첨부, 또는 텍스트 기반 시스템에서 이진 데이터를 안전하게 표현하기 위해 자주 사용됩니다.
Base64는 64개의 문자(A-Z, a-z, 0-9, +, /)를 사용하며, 변환된 결과는 3바이트 데이터를 4바이트로 표현하고, 데이터 길이가 3의 배수가 아닐 경우 패딩 문자(=)를 사용합니다.
= 문자로 채웁니다. 이메일 첨부파일(MIME)
JWT (JSON Web Token)
네트워크 통신
이미지 인코딩
import java.util.Base64;
public class Base64Example {
public static void main(String[] args) {
String data = "Hello, Base64!";
// Base64 인코딩
String encodedData = Base64.getEncoder().encodeToString(data.getBytes());
System.out.println("Encoded: " + encodedData);
// Base64 디코딩
byte[] decodedBytes = Base64.getDecoder().decode(encodedData);
String decodedData = new String(decodedBytes);
System.out.println("Decoded: " + decodedData);
}
}
Encoded: SGVsbG8sIEJhc2U2NCE=
Decoded: Hello, Base64!
Base64는 네트워크 및 파일 전송에서 데이터를 안전하게 변환하는 데 매우 유용합니다. Spring 환경에서도 JWT 사용 시 Base64를 다루는 일이 많아 실제 프로젝트에서 활용도가 높았습니다. 하지만 데이터 크기 증가와 보안 이슈를 고려하여 적절한 상황에 사용하는 것이 중요하다는 점을 느꼈습니다.