コンテンツへスキップ
🛠️ToolsShed

HTTP Basic Auth Encoder

HTTPベーシック認証認証情報をエンコードおよびデコードします。ユーザー名とパスワードから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.