HTTP Basic 認証を使う
Basic 認証は、Base64 エンコードした username:password を Authorization ヘッダーで送ります。形式、セキュリティ上の要件、代替手段を学びましょう。
- 1
Basic 認証は、HTTP ヘッダーで「Authorization: Basic <base64(username:password)>」を送ります。資格情報はエンコードされるだけで、暗号化されません。Base64 は可逆です。Basic 認証は必ず HTTPS 上で使ってください。HTTP 上では資格情報が露出します。サーバーが WWW-Authenticate: Basic 付きの 401 を返すと、ブラウザーはネイティブのログインプロンプトを表示します。
- 2 Base64 エンコーダー →
「username:password」を Base64 でエンコードして Authorization ヘッダー値を作ります。例: 「admin:secret」→「YWRtaW46c2VjcmV0」。ヘッダーは Authorization: Basic YWRtaW46c2VjcmV0 となります。
- 3 Base64 デコーダー →
Basic 認証ヘッダーをデコードして資格情報を取り出します。「Basic 」プレフィックスを外し、残りを Base64 デコードし、「:」で分割します。サーバーが資格情報を検証するときに行う処理です。Authorization ヘッダーは絶対にログに残さないでください。可逆的な資格情報を含んでいます。
- 4 base64-decode
Basic 認証デコードワークフローを使うと、Authorization ヘッダーから資格情報を取り出して確認できます。
よくある質問
- Basic 認証は安全ですか?
- HTTPS 上でのみ安全です。資格情報は Base64 エンコード (可逆) であって、暗号化されていません。HTTP 上では、ネットワーク上の誰でも読み取れます。HTTPS 上でも Basic 認証には欠点があります。資格情報が毎リクエストで送られること、ログアウトが信頼できないこと (ブラウザーがキャッシュする)、トークンの有効期限がないことです。
- Basic 認証と Bearer トークンはどちらですか?
- Bearer トークンが推奨されます。有効期限があり (侵害の機会を限定)、スコープを絞れ (権限を限定)、ユーザーのパスワードを露出しません。Basic 認証は単純な API、内部ツール、API キー向けです。本番アプリケーションには Bearer トークン (JWT、OAuth) を使ってください。
このタスクを解決するワークフロー
Ascii85 から Base64 へ変換
Ascii85 をデコードし、より広い互換性のために Base64 として再エンコードする。 パイプライン
Base2048 から Base64 へ変換
Base2048(絵文字)をデコードし、標準転送のために Base64 として再エンコードする。 パイプライン
Base32 から Base64 へ変換
Base32 エンコード文字列を生バイトにデコードし、よりコンパクトな表現のために Base64 として再エンコードする。 パイプライン
Base58 から Base64 へ変換
Base58 をデコードし、標準互換性のために Base64 として再エンコードする。 パイプライン
Base64 エンコード後デコードのラウンドトリップ検証
テキストを Base64 にエンコードし、デコードしてラウンドトリップが元のデータを保持することを検証する。 パイプライン
Base64 から Base85 へ変換
Base64 をデコードし、コンパクトな表現のために Base85 として再エンコードする。 パイプライン
Base64 から Hex へ変換
Base64 文字列を生バイトにデコードし、検査や相互運用のために Hex として再エンコードする。 パイプライン
Blowfish 暗号化後に Base64 エンコード
Blowfish で暗号化し、テキストセーフな転送のために Base64 エンコードする。 パイプライン
Basic Auth 認証情報ペアのデコード
HTTP Basic Authorization ヘッダーの Base64 部分を username:password にデコードする。 パイプライン
DES 暗号化後に Base64 エンコード
DES で暗号化し、レガシー互換性のために Base64 エンコードする。 パイプライン
URL 転送用の JSON ペイロードのエンコード
JSON ドキュメントを URL パラメータ用に準備する: 整形、Base64 エンコード、パーセントエンコード — ネストされたパラメータデコードチェーンの正確な逆順。 パイプライン
AES 暗号化後に Base64 エンコード
平文を AES で暗号化し、テキストセーフな転送のために暗号文を Base64 としてエンコードする。 パイプライン
コンテンツのハッシュと Base64 エンコード
入力のハッシュを計算し、コンパクトな転送のためにハッシュダイジェストを Base64 としてエンコードする。 パイプライン
Hex から Base64 へ変換
Hex 文字列を生バイトにデコードし、コンパクトな転送のために Base64 として再エンコードする。 パイプライン
HMAC 署名後に Base64 エンコード
HMAC 署名を生成し、API 認証ヘッダーのために Base64 エンコードする。 パイプライン
Morse エンコードと Base64 転送
テキストを Morse 符号としてエンコードし、デジタル転送のために Base64 エンコードする。 パイプライン
JWT ペイロードのデコードとフォーマット
JWT トークンを解析し、ペイロードを抽出し、検査のために JSON をフォーマットする。 パイプライン
RC4 暗号化後に Base64 エンコード
RC4 で暗号化し、転送のために Base64 エンコードする。 パイプライン
RIPEMD-160 ハッシュ後に Base64 エンコード
RIPEMD-160 ハッシュを計算し、転送のために Base64 エンコードする。 パイプライン
テキストシャッフルと Base64 エンコード
テキスト文字をシャッフルし、その後結果を Base64 エンコードする。 パイプライン
Unicode エスケープと Base64 エンコード
テキストを Unicode エスケープし、ASCII セーフな転送のために Base64 エンコードする。 パイプライン
URL エンコード後 Base64 二重エンコード
URL エンコードし、API ペイロードの二重エンコードのために Base64 エンコードする。 パイプライン
ネストされた URL パラメータのデコード(Base64 JSON)
URL エンコード Base64 JSON を運ぶ URL パラメータを可読なフォーマット済み JSON に展開する。 パイプライン
UUencode 後 Base64 エンコード
テキストを UUencode し、その後結果を Base64 エンコードして二重エンコードする。 パイプライン
UUID 生成と Base64 エンコード
UUID を生成し、コンパクトな保存のために Base64 エンコードする。 パイプライン