Base64 → Hex 변환기

Base64와 16진수(hex)는 모두 원시 바이트를 인쇄 가능한 ASCII로 적는 방법이지만, 보여 주는 정보가 다릅니다. Hex는 모든 바이트를 두 자리로 깔끔하게 보여 주고, Base64는 더 조밀하지만 읽기는 어렵습니다. Base64를 hex로 변환하는 작업은 토큰을 디버깅하거나, 키 지문을 확인하거나, 서로 다른 인코딩을 선호하는 도구들 사이에서 바이트 시퀀스를 비교할 때 하게 됩니다.

변환 방식

  1. 1

    Base64 문자열 붙여넣기

    표준, URL-safe, 패딩 유무에 관계없이 모두 처리합니다.

  2. 2

    문자열을 원시 바이트로 디코딩

    Base64 문자 4개마다 3바이트가 됩니다.

  3. 3

    각 바이트를 두 자리 hex로 표현

    대문자 또는 소문자 출력을 선택하세요.

  4. 4

    hex 확인

    공백 구분, `0x` 접두사, 연속 표기 중에서 선택할 수 있습니다.

예제

Base64 SGVsbG8=는 5바이트로 디코딩됩니다.

Base64 문자 바이트 Hex
SGVs 48 65 6C 48 65 6C
bG8= 6C 6F 6C 6F

따라서 SGVsbG8=의 hex 표현은 48 65 6C 6C 6F입니다(Hello의 ASCII).

hex가 Base64보다 더 많은 것을 알려 주는 경우

  • 인증서 지문 — SHA-1과 SHA-256 지문은 일반적으로 콜론을 넣은 hex로 표시됩니다: AB:CD:.... Base64로 인코딩된 해시를 hex로 변환하면 바이트 단위로 대조할 수 있습니다.
  • 키 자료 — AES 키, HMAC 비밀값, Ed25519 개인 키는 보통 hex로 로그에 남습니다. 같은 키라도 Base64로는 완전히 달라 보이므로, 변환하면 동일한 값인지 확인할 수 있습니다.
  • JWT 서명 — JWT의 signature 세그먼트는 URL-safe Base64입니다. hex로 바꾸면 디버그 로그의 기대값과 손쉽게 비교할 수 있습니다.
  • TLS 세션 ID / 핸드셰이크 데이터 — Wireshark는 이를 hex로 보여 주지만, 애플리케이션은 Base64로 기록하기도 합니다.

출력 형식 옵션

Base64:       SGVsbG8=
Hex (연속):    48656C6C6F
Hex (공백):    48 65 6C 6C 6F
Hex (0x):     0x48 0x65 0x6C 0x6C 0x6F
Hex (콜론):    48:65:6C:6C:6F
Hex (C):      \x48\x65\x6C\x6C\x6F

흔한 함정

  • URL-safe Base64 — 입력에 -_가 있으면 URL-safe 변형입니다. 이 도구는 두 형식을 모두 자동으로 받아들입니다.
  • 패딩 — 끝에 =가 있는 Base64와 없는 Base64를 모두 허용합니다. 디코더는 대개 어느 쪽이든 처리합니다.
  • 붙여넣은 입력의 공백 — 줄바꿈과 공백은 디코딩 전에 제거됩니다.

자주 묻는 질문

네, 상당히 깁니다. Hex는 바이트당 2문자를 쓰고 Base64는 약 1.33문자를 씁니다. 그래서 hex가 Base64보다 50% 길지만, 모든 바이트가 또렷하게 보이고 대소문자를 구분하지 않습니다.

네. Hex → Base64 변환기를 사용하세요. 어느 방향이든 바이트 시퀀스는 그대로 보존되며, 바뀌는 것은 텍스트 표현뿐입니다.

입력이 실제로는 Base64가 아니거나, 다른 알파벳(Crockford Base32, Base58)의 문자가 섞였거나, 중간이 잘렸을 수 있습니다. 출처를 확인하고, 우선 일반 텍스트로 디코딩해 의미가 있는지 살펴보세요.

네. hex와 Base64 모두 바이트를 왕복 변환할 수 있는 표현이므로, 둘 사이를 변환해도 바이트 시퀀스가 정확히 보존됩니다.

관련 도구