Base64エンコード・デコードをブラウザだけで安全に行う方法

趣味

はじめに

おつかされまです。tyamonです。

この記事では、Base64エンコード・デコードをブラウザ上で完結させる方法を紹介します。

以下のような方を対象としています。

  • APIの認証情報やトークンにBase64が使われていて内容を確認したい
  • 文字列をBase64に変換してAPIに渡す作業を手軽に行いたい
  • 変換した内容をサーバーに送りたくない

結論(成果物)

本記事で紹介するツールを使うことで、テキストのBase64エンコード・デコードをインストール不要・データ送信なしでブラウザ上で実行できます。

ツールはこちら → Base64エンコード/デコード | tools.tyamon.com


Base64とは?

Base64は、バイナリデータや文字列を64種類の英数字と記号(A-Z・a-z・0-9・+・/)だけで表現するエンコード方式です。

メールやHTTP通信など「テキストしか扱えない」場面でバイナリデータを送るために生まれました。
現在はWeb認証・JWT・画像のインライン埋め込みなど幅広く使われています。

[!NOTE]
Base64はあくまでエンコード(変換)であり、暗号化ではありません。デコードすれば元の内容が誰でも読めます。認証情報を扱う際はこの点に注意してください。


ツールの使い方

エンコード(テキスト → Base64)

  1. 「エンコード」タブが選択されていることを確認
  2. 左側のテキストエリアに変換したいテキストを入力
  3. 「エンコード」ボタンを押すと右側にBase64文字列が出力される

日本語(マルチバイト文字)も正しくUTF-8としてエンコードされます。

デコード(Base64 → テキスト)

  1. 「デコード」タブに切り替え
  2. 左側にBase64文字列を入力
  3. 「デコード」ボタンを押すと元のテキストが表示される

不正なBase64文字列を入力した場合はエラーメッセージが表示されます。

逆変換ボタンで効率化

「逆変換」ボタンを押すと、出力結果を入力欄に移してモードを切り替えます。
エンコード→確認→デコードして元に戻す、という作業が一度の操作で行えます。


実務での活用シーン

Basic認証ヘッダーの確認

HTTPのBasic認証では、Authorization: Basic [Base64文字列] の形式でヘッダーが送られます。
Base64部分をデコードすると ユーザー名:パスワード の形式になります。

Authorization: Basic dHlhbW9uOnBhc3N3b3Jk
↓ デコード
tyamon:password

JWTのヘッダー・ペイロードの確認

JWT(JSON Web Token)はドット区切りの3パートで構成されており、最初の2パートはBase64URLエンコードされています。
ヘッダーとペイロードをデコードすることで、トークンの内容(有効期限・権限など)を確認できます。

[!NOTE]
Base64URLはBase64の +-/_ に置き換えた亜種です。デコードの際は置換してから試してください。

AWS Secrets Manager・SSMの値確認

AWS Secrets ManagerやSSM Parameter Storeに保存した値がBase64エンコードされているケースがあります。
CLIで取得した値をツールに貼り付けてデコードするだけで確認できます。


まとめ

今回はブラウザでBase64エンコード・デコードを行うツールを紹介しました。ポイントは以下の通りです。

  • テキスト↔Base64の相互変換をブラウザ完結で実行
  • 日本語(マルチバイト)も正しくUTF-8でエンコード・デコード
  • Base64はエンコードであり暗号化ではない点に注意

参考資料

コメント

タイトルとURLをコピーしました