レッスン 1
Base64 とは何か
Base64 がバイナリデータをテキストとして表す理由と、よく使われる場面を学びます。
Base64 は、任意のバイト列を ASCII のテキストとして表すためのエンコード方式です。画像、署名、トークンの一部など、元はバイナリである値を、テキストだけを扱う場所へ運びたいときに使われます。
重要なのは、Base64 は暗号化ではないということです。Base64 で表された値は、対応する方法でデコードすれば元のバイト列へ戻せます。
なぜ必要なのか
すべてのシステムがバイナリを安全に運べるわけではありません。JSON、URL、メール、環境変数、ログなどは、多くの場合テキストとして値を扱います。
Base64 は、バイト列を比較的安全な文字だけで表すことで、こうしたテキスト中心の経路を通れるようにします。
よく見る場所
- JWT の header と payload
- 小さな画像を埋め込む data URL
- API で送るバイナリ由来の値
- 証明書、鍵、署名のテキスト表現
- Basic 認証の資格情報表現
Base64 と安全性
Base64 は見た目を読みにくくしますが、秘密を守る仕組みではありません。パスワード、API key、token を Base64 にしただけで安全になることはありません。
デバッグでは「これは暗号化されているのか」ではなく、「これはどのバイト列をテキスト化しているのか」と考えると、問題を切り分けやすくなります。