본문으로 건너뛰기
🛠️ToolsShed

HTTP Basic Auth Encoder

HTTP Basic Authentication 자격증명을 인코딩 및 디코딩하며 사용자 이름과 암호에서 Authorization 헤더 값을 생성합니다.

이 도구 소개

HTTP Basic Auth Encoder는 Authorization: Basic 헤더의 값을 만들고 읽어줍니다. 이 값은 콜론으로 결합한 사용자 이름과 비밀번호(username:password)를 단순히 base64로 인코딩한 것입니다. HTTP API를 다룰 때 이 헤더를 손으로 직접 조립하거나 디코딩해야 하는 일상적인 번거로움을 해결해 줍니다.

인코딩하려면 사용자 이름과 비밀번호를 입력하면 바로 사용할 수 있는 헤더 값을 얻을 수 있고, 디코딩하려면 기존 Basic 헤더를 붙여넣으면 원래의 자격 증명으로 분리됩니다. API 테스트, curl이나 Postman 요청 작성, 그리고 실제로 무엇이 전송되었는지 확인해야 하는 401 Unauthorized 응답 디버깅에 유용합니다.

Basic 인증의 base64는 암호화가 아니라 단순한 인코딩이라는 점을 유념하세요. 가로채는 사람은 누구나 자격 증명을 읽을 수 있습니다. 그렇기 때문에 반드시 HTTPS 위에서만 사용해야 합니다. 모든 처리는 브라우저 안에서 로컬로 실행되며, 입력한 내용은 어디로도 전송되지 않습니다.

자주 묻는 질문

코드 구현

import base64

def encode_basic_auth(username: str, password: str) -> str:
    credentials = f"{username}:{password}"
    encoded = base64.b64encode(credentials.encode("utf-8")).decode("utf-8")
    return f"Basic {encoded}"

def decode_basic_auth(header_value: str) -> tuple[str, str]:
    b64 = header_value.removeprefix("Basic ").strip()
    decoded = base64.b64decode(b64).decode("utf-8")
    username, _, password = decoded.partition(":")
    return username, password

header = encode_basic_auth("admin", "secret")
print(header)  # Basic YWRtaW46c2VjcmV0

user, pwd = decode_basic_auth(header)
print(f"Username: {user}, Password: {pwd}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.