it-box

Basic Auth 생성기

사용자 이름과 비밀번호로 Base64 Basic Auth 헤더를 생성합니다.

Basic Auth 생성기 도구 열기

사용자 이름과 비밀번호를 입력하면 HTTP Basic 인증 헤더 한 줄을 만들어 줍니다. 값은 user:password 문자열을 Base64로 바꾼 결과입니다.

사용 순서

  1. Username 칸에 사용자 이름을 입력합니다.
  2. 비밀번호 칸에 비밀번호를 입력합니다. 입력값은 가려서 표시됩니다.
  3. 결과 카드에서 Authorization 헤더 한 줄을 확인합니다.
  4. Copy header 버튼으로 헤더 전체를 복사합니다.

예시

Username에 user, 비밀번호에 pass를 입력하면 Authorization: Basic dXNlcjpwYXNz 가 나옵니다. 한글도 UTF-8 바이트 기준으로 인코딩되므로 한글이 들어간 자격 증명도 헤더로 만들 수 있습니다.

한계

Base64는 암호화가 아니므로 누구나 바로 디코딩할 수 있습니다. 사용자 이름에 콜론(:)이 들어 있으면 서버가 첫 콜론에서 나눠 잘못 해석하는데, 이 도구는 이를 검사하지 않습니다. HTTPS 없이 쓰면 헤더가 평문으로 전송됩니다.

보안 주의

Basic 헤더는 Base64로 바뀌었을 뿐이라 헤더 문자열을 가진 사람은 비밀번호를 그대로 알아낼 수 있습니다. 결과를 로그, 채팅, 설정 파일에 남기지 말고 테스트 계정 값만 사용하세요.

배경 지식

HTTP Basic 인증은 Authorization 요청 헤더에 Basic 뒤의 값으로 user:password 문자열의 Base64 결과를 붙여 보내는 방식입니다. 서버는 매 요청마다 이 값을 풀어 자격을 확인하므로 세션 쿠키가 없어도 됩니다. 대신 자격 증명이 요청마다 전송되므로 반드시 HTTPS와 함께 써야 합니다. 사내 도구나 프록시, 간단한 API 보호에서는 지금도 자주 쓰입니다.

Base64는 바이트를 여섯 비트씩 끊어 64개 문자로 바꾸는 인코딩입니다. 키가 없으므로 보안 기능이 아니며, 특수문자와 줄바꿈이 헤더 형식을 깨지 않게 하는 역할만 합니다. 한글처럼 여러 바이트로 된 문자는 먼저 UTF-8로 바꾼 뒤 Base64로 처리해야 서버와 값이 맞습니다. 이 도구는 js-base64 라이브러리로 이 과정을 처리합니다.

자주 묻는 질문

Basic 인증과 Bearer 토큰은 무엇이 다른가요?

Basic은 매 요청마다 사용자 이름과 비밀번호를 보내고, Bearer는 로그인으로 받은 토큰 문자열을 보냅니다. 토큰은 만료하거나 폐기할 수 있어서 비밀번호를 매번 노출하지 않아도 됩니다. 외부 API 연동에는 대개 토큰 방식이 쓰입니다.

비밀번호에 특수문자가 있어도 그대로 넣으면 되나요?

콜론만 조심하면 됩니다. 비밀번호 안의 콜론은 허용되지만 사용자 이름 안의 콜론은 허용되지 않습니다. 이 도구는 입력한 문자를 그대로 Base64로 바꾸므로, 입력한 문자열이 서버가 기대하는 값과 같은지 먼저 확인하세요.

Basic 자격 증명을 URL 안에 넣어도 되나요?

https://user:pass@host/처럼 URL에 자격을 넣는 방식은 기록과 로그에 남을 수 있어 권장되지 않습니다. 헤더로 보내는 것이 일반적이므로 이 도구가 만든 헤더 값을 그대로 쓰면 됩니다.