Basic Auth 헤더 생성기

사용자명과 비밀번호를 입력하면 HTTP Basic 인증용 Authorization 헤더를 실시간으로 만들어 줍니다.

사용자명:비밀번호를 UTF-8로 인코딩한 뒤 Base64로 변환합니다.
입력한 비밀번호는 브라우저 안에서만 처리되며 서버로 전송·저장되지 않습니다.
Base64 값(또는 Authorization 헤더 전체)을 넣으면 사용자명과 비밀번호로 되돌립니다.

Basic Auth 헤더 생성기 사용법

위 입력창에 사용자명비밀번호를 입력하면 Authorization: Basic <base64> 형태의 전체 헤더와 Base64 값이 실시간으로 만들어집니다. "헤더 복사" 또는 "Base64 복사" 버튼으로 필요한 부분만 클립보드에 담을 수 있어, curl·Postman·코드 등 HTTP 요청에 바로 붙여넣을 수 있습니다. 반대로 아래 역방향 디코드 칸에 Base64 값이나 Basic xxxx 헤더를 붙여넣으면 원래의 사용자명·비밀번호로 되돌릴 수 있습니다.

HTTP Basic 인증이란?

HTTP Basic 인증은 가장 단순한 인증 방식으로, 사용자명:비밀번호 문자열을 Base64로 인코딩한 값을 Authorization: Basic ... 헤더에 담아 보냅니다. 서버는 이 헤더를 디코드해 자격 증명을 확인합니다. 구현이 간단해 내부 API, 테스트 환경, 간단한 보호된 페이지 등에 자주 쓰입니다. 다만 Base64는 암호화가 아니므로 반드시 HTTPS와 함께 사용해야 합니다.

헤더가 만들어지는 과정

Basic 인증 헤더는 세 단계로 만들어집니다. 먼저 사용자명과 비밀번호를 콜론으로 이어 user:pass 문자열을 만들고, 이를 UTF-8 바이트로 바꾼 뒤 Base64로 인코딩합니다. 마지막으로 앞에 Basic 을 붙여 Authorization 헤더 값으로 씁니다. 예를 들어 사용자명 Aladdin, 비밀번호 open sesameQWxhZGRpbjpvcGVuIHNlc2FtZQ==가 되어 헤더는 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==가 됩니다. 이 도구의 역방향 디코드 칸에 그 값을 붙여넣으면 다시 사용자명과 비밀번호로 풀립니다.

실무에서 쓰는 법

  • curl — 생성된 헤더를 그대로 curl -H "Authorization: Basic ..."로 붙이거나, curl -u 사용자명:비밀번호를 쓰면 curl이 같은 헤더를 자동으로 만들어 줍니다.
  • Postman·API 클라이언트 — Authorization 탭에서 Basic Auth를 골라도 되고, 헤더 탭에 이 도구의 결과를 그대로 넣어도 동일하게 동작합니다.
  • 코드 — 언어별 Base64 함수로 직접 만들 수도 있지만, 값이 맞는지 확인할 때 이 도구로 대조해 보면 편합니다.
  • 서버 응답 — 인증이 필요한 자원에 자격 증명 없이 접근하면 서버는 401 Unauthorized와 함께 WWW-Authenticate: Basic realm="..." 헤더를 보냅니다. 브라우저는 이때 로그인 창을 띄웁니다.

자주 하는 실수와 주의점

  • HTTPS는 필수입니다. Base64는 누구나 되돌릴 수 있으므로, 평문 HTTP로 보내면 자격 증명이 그대로 노출됩니다.
  • 사용자명에는 콜론을 넣을 수 없습니다. 서버는 첫 번째 콜론까지를 사용자명으로 보기 때문입니다. 비밀번호에 콜론이 들어가는 것은 문제없습니다.
  • Base64 결과에 줄바꿈이 섞이면 헤더가 깨집니다. 복사해 붙일 때 한 줄로 유지하세요.
  • URL에 https://user:pass@example.com 형태로 자격 증명을 적는 방식은 브라우저 기록과 로그에 남을 수 있어 권장하지 않습니다.
  • Basic 인증에는 로그아웃 개념이 없고 요청마다 자격 증명이 반복 전송됩니다. 사용자용 서비스에는 토큰이나 세션 기반 인증이 더 적합합니다.
  • 비밀번호에 한글이나 이모지가 있으면 서버가 UTF-8로 해석하는지 확인해야 합니다. 오래된 서버는 다른 문자 집합을 가정하기도 합니다.

자주 묻는 질문

입력한 비밀번호가 서버로 전송되나요?

아니요. 사용자명과 비밀번호는 브라우저 안에서만 Base64로 인코딩되며, 어떤 서버로도 전송·저장되지 않습니다. 보안을 위해 입력값은 별도로 저장하지 않습니다.

Base64는 암호화인가요?

아니요. Base64는 누구나 디코드할 수 있는 단순 인코딩일 뿐 암호화가 아닙니다. 따라서 Basic 인증은 반드시 HTTPS와 함께 사용해야 사용자명·비밀번호가 노출되지 않습니다.

한글이나 특수문자가 포함된 비밀번호도 되나요?

네. 본 도구는 사용자명:비밀번호 문자열을 UTF-8로 인코딩한 뒤 Base64로 변환하므로 한글·이모지 등 멀티바이트 문자도 안전하게 처리합니다. 다만 서버가 UTF-8로 해석하는지는 확인이 필요합니다.

curl에서는 어떻게 쓰나요?

생성된 헤더를 그대로 쓰려면 curl -H "Authorization: Basic ..." 형태로 붙여넣으면 됩니다. 또는 curl -u 사용자명:비밀번호 옵션을 쓰면 curl이 동일한 헤더를 자동으로 만들어 줍니다.

비밀번호에 콜론이 들어가도 되나요?

비밀번호에는 콜론을 넣어도 됩니다. 서버는 첫 번째 콜론까지를 사용자명으로 보고 나머지를 전부 비밀번호로 해석하기 때문입니다. 반대로 사용자명에는 콜론을 쓸 수 없습니다.

이미 만들어진 헤더를 되돌릴 수 있나요?

네. 역방향 디코드 칸에 Base64 값만 넣어도 되고, Basic 으로 시작하는 헤더 값이나 Authorization: 까지 포함한 전체 헤더를 붙여넣어도 자동으로 정리한 뒤 사용자명과 비밀번호로 되돌립니다.

Basic 인증은 언제 쓰는 게 좋나요?

내부 API, 사내 도구, 스테이징 서버 보호처럼 구현이 단순해야 하고 접근자가 제한된 곳에 적합합니다. 로그아웃 개념이 없고 요청마다 자격 증명이 반복 전송되므로, 일반 사용자용 서비스에는 토큰이나 세션 기반 인증이 더 알맞습니다.