도구 설명
Base64 인코더/디코더 정보
Base64 인코더/디코더는 UTF-8 텍스트를 Base64로 변환하고 Base64를 다시 읽을 수 있는 텍스트로 디코딩합니다.
이 도구는 일반 Base64와 URL-safe Base64를 지원하고 잘못된 입력을 검증하며 브라우저에서 로컬로 변환합니다.
Base64 Encoder/Decoder 사용 방법
- 일반 UTF-8 텍스트를 붙여 넣고 Encode를 눌러 Base64 문자열을 만듭니다.
- Base64 값를 붙여 넣고 Decode를 눌러 읽을 수 있는 텍스트로 되돌립니다.
- 값을 URL, 토큰 부분, 파일 이름 형식의 필드에 넣을 때는 URL-safe Base64를 켭니다.
- 출력을 다음 변환의 입력으로 옮기고 싶으면 Swap을 사용합니다.
사용 사례
- 디버깅 중 토큰 부분, 설정값, API 페이로드를 디코딩합니다.
- 짧은 텍스트를 Base64로 인코딩해 테스트 데이터나 문서 예제에 넣습니다.
- 다른 서비스로 보내기 전에 복사한 Base64 값이 유효한지 확인합니다.
- 웹 토큰이나 URL 매개변수를 다룰 때 표준 형식과 URL-safe 형식을 변환합니다.
Base64, URL-safe Base64, 패딩
Base64는 바이트를 출력 가능한 문자로 표현합니다. encryption이 아니라 인코딩 형식이므로 텍스트를 가진 사람은 누구나 디코딩할 수 있습니다.
- 표준 Base64는 영문자, 숫자, 더하기 기호, 슬래시, 그리고 선택적인 등호 패딩을 사용합니다.
- URL-safe Base64는 plus를 hyphen으로, slash를 underscore로 바꿔 URL에서 더 안전하게 다룹니다.
- Padding: 끝의 등호는 바이트 길이 정렬을 돕고 일부 URL-safe 형식는 생략합니다.
- UTF-8 텍스트: 영어가 아닌 문자는 먼저 바이트로 인코딩된 뒤 Base64로 표현됩니다.
Base64 인코더/디코더 자주 묻는 질문
- Base64는 encryption인가요?
- 아니요. Base64는 되돌릴 수 있는 encoding이며 encryption이 아닙니다. 디코딩할 수 있으면 원문을 볼 수 있습니다.
- 왜 decoding이 실패하나요?
- 잘못된 문자, 누락된 바이트, 잘못된 URL-safe 모드, 복사된 공백 문자 때문에 값이 달라졌을 수 있습니다.
- URL-safe Base64는 언제 쓰나요?
- 인코딩된 값가 URL, JWT 형식의 토큰 부분, filenames에 들어가 plus와 slash가 문제를 만들 수 있을 때 씁니다.
- Base64가 data를 더 작게 만드나요?
- 아니요. 바이너리 바이트를 출력 가능한 텍스트로 표현하므로 보통 약 3분의 1 커집니다.
- Base64 텍스트가 업로드되나요?
- 아니요. Encoding과 decoding은 브라우저에서 로컬로 실행되고 wetool.site로 업로드되지 않습니다.
Base64와 URL 인코딩
Base64는 바이트를 텍스트로 표현하기 위한 방식입니다. URL 인코딩은 URL 안의 문자를 escape하기 위한 방식입니다. 쿼리 문자열에 Base64를 넣는다면 URL-safe Base64가 보통 더 쉽습니다.
표준 Base64 대 URL-safe Base64
Base64가 URL, JWT, 파일 이름, 폼 필드에 들어갈 때 흔한 실패 원인은 문자 집합 차이와 패딩입니다.
- 표준 Base64는 +와 /를 사용하므로 쿼리 문자열에 넣기 전 URL 인코딩이 필요할 수 있습니다.
- URL-safe Base64는 -와 _를 사용하며 JWT, OAuth state 값, 짧은 토큰, 파일 이름 같은 필드에서 흔합니다.
- Trailing = padding은 protocol마다 유지하거나 생략합니다. Decoding이 실패하면 길이를 4의 배수로 padding해야 하는지 먼저 확인하세요.
Base64 보안 경계
Base64는 encoding이지 encryption이 아닙니다. Binary 또는 UTF-8 텍스트를 출력 가능한 문자로 만들지만 내용을 숨기지는 않습니다.
- Base64 문자열을 가진 사람은 누구나 디코딩할 수 있으므로 시크릿, 비밀번호, 개인 키를 보호된 데이터로 취급하지 마세요.
- JWT 페이로드, Basic 인증 헤더, 설정 값을 디코딩할 때는 로그나 티켓에 붙이기 전에 민감한 내용일 수 있다고 가정하세요.
- 기밀성에는 실제 암호화, 진정성에는 서명, 무결성에는 해시가 필요하며 Base64는 표현 방식일 뿐입니다.