tomai
ログイン

Base64 はエンコードであって暗号化ではない — 落としたい5つの誤解

Base64 はメール添付、data URI、HTTP ヘッダー、JWT に登場します — ウェブで最も誤解されている形式です。5 つの誤解を一気に解説します。

誤解1: データを隠せる

Base64 は可逆エンコードであって暗号化ではありません。鍵はなく、誰でもマイクロ秒でデコードできます。Base64 の文字列は平文として扱ってください。

誤解2: 圧縮できる

逆です。3 バイトが 4 文字になり — 約 33% サイズが増えます。本当の役割は、バイナリをテキスト専用チャネルでも安全な印字可能文字に変えることです。

誤解3: = のパディングは飾り

パディングはグループの末尾を示します。壊れた・欠けたパディングはデコードエラーの最大の原因です。

誤解4: デフォルトで URL セーフ

標準 Base64 は + と / を使い、URL やファイル名では壊れます。URL 対応版はそれらを - と _ に置き換えます。

誤解5: パスワードに向いている

パスワードを Base64 にしてもセキュリティはゼロ増えます。bcrypt/argon2 など本物のハッシュを使ってください。

文字列の中身を確認したい? ブラウザ内で Base64 をデコード/エンコード — データは端末の外に出ません。