約2分で読めます
Base64とは?仕組みと使いどころ、暗号化ではない理由をわかりやすく解説
Base64とは
Base64は、画像などのバイナリデータや文字列を、64種類の文字(A-Z、a-z、0-9、+、/)だけで表現する変換方式です。「エンコード(符号化)」の一種で、データの中身を別の表現に置き換えます。
例えば「こんにちは」をBase64エンコードすると「44GT44KT44Gr44Gh44Gv」という文字列になります。
なぜBase64が必要なのか
インターネットの古い仕組みの多くは、テキストデータしか安全に扱えませんでした。バイナリデータをそのまま送ると壊れる環境でも確実に届けられるよう、どんなデータでも「無難な文字だけ」に変換するのがBase64の役割です。
主な使いどころ
- メールの添付ファイル — メールの仕組み(MIME)はBase64でファイルを送っています
- 画像のインライン埋め込み — HTMLやCSSに「data:image/png;base64,...」の形式で画像を直接書き込めます
- Web APIでのデータ受け渡し — JSONはバイナリを扱えないため、画像などをBase64で埋め込むことがあります
- Basic認証 — ユーザー名とパスワードをBase64で送ります(暗号化ではない点に注意)
Base64は暗号化ではない
ここが最も重要なポイントです。Base64は誰でも元に戻せる変換であり、秘密を守る機能はまったくありません。変換のルールが公開されているため、デコードツールに通せば一瞬で元のデータに戻ります。
「パスワードをBase64にして保存する」「秘密のデータをBase64にして隠す」は、鍵をかけずにドアを閉めるのと同じです。秘匿が必要な場面では、適切な暗号化やハッシュ化を使ってください。
| 方式 | 元に戻せる? | 用途 |
|---|---|---|
| Base64(エンコード) | 誰でも戻せる | データの形式変換 |
| 暗号化 | 鍵を持つ人だけ | データの秘匿 |
| ハッシュ化 | 戻せない | 改竄検知・パスワード保存 |
ツールで試してみる
Base64エンコード/デコードツールでは、テキストの変換を双方向に試せます。日本語(UTF-8)にも対応しています。ハッシュ化との違いはハッシュ生成ツールで実際に比べてみると理解が深まります。
まとめ
- Base64はバイナリを64種類の文字で表すエンコード方式
- メール添付・画像埋め込み・APIなど「テキストしか扱えない場所」で活躍
- 暗号化ではないため、秘密のデータの保護には使えない