🔐 Basic認証ヘッダー生成
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==ユーザー名とパスワードを入力すると、HTTP Basic認証(RFC 7617)で使うAuthorizationヘッダーの値を生成するツールです。curlコマンドやAPIクライアントの設定にそのまま使えます。
使い方
- ユーザー名を入力します。
- パスワードを入力します。
- 生成されたAuthorizationヘッダーをコピーします。
計算の仕組み
HTTPのBasic認証(RFC 7617)では、ユーザー名とパスワードをコロン(:)でつなぎ、Base64でエンコードした値を「Authorization」ヘッダーで送ります。このツールは、そのヘッダーの値を作ります。 Authorization: Basic Base64(ユーザー名 + ":" + パスワード) ユーザー名とパスワードは、まずUTF-8のバイト列に変換してからBase64にしているため、日本語や記号を含む場合も正しくエンコードされます(RFC 7617で推奨されているUTF-8の扱いと同じです)。 Base64は暗号化ではなく、誰でも元に戻せる単なる変換です。Basic認証は、必ずHTTPS(暗号化された通信)の上で使ってください。
計算例
ユーザー名: Aladdin、パスワード: open sesame 連結: Aladdin:open sesame ヘッダー: Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== RFC 7617の例(ユーザー名 test、パスワード 123£) Basic dGVzdDoxMjPCow==(£はUTF-8で2バイトになります) curlでは次のように使えます。 curl -H "Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" https://example.com/
使用上の注意
- ユーザー名にはコロン(:)を含められません。最初のコロンがユーザー名とパスワードの区切りとして扱われるためです。パスワードにはコロンを含められます。
- ヘッダーの値を見れば誰でもパスワードを取り出せるため、ログやスクリーンショットに残さないよう注意してください。
- curlでは -u ユーザー名:パスワード と指定すると、同じヘッダーが自動で作られます。
よくある質問
どんな計算をしていますか?
"ユーザー名:パスワード"という文字列をBase64エンコードし、先頭に"Basic "を付けたものがAuthorizationヘッダーの値になります(RFC 7617で定義された標準形式)。
Basic認証は安全ですか?
Basic認証自体はBase64エンコードされているだけで暗号化ではないため、必ずHTTPS通信と組み合わせて使用してください。HTTP通信では認証情報が容易に読み取られてしまいます。
curlでどう使いますか?
生成されたヘッダーをそのまま `curl -H "Authorization: Basic xxxx" https://example.com` のように指定できます。