FlowPocket

Base64・URLエンコード・ハッシュ値の違いと変換方法|開発・調査でよく使う3つの変換

Base64・URLエンコード・ハッシュ値の違いと変換方法|開発・調査でよく使う3つの変換

APIの資料に「Base64でエンコードして送信」と書いてある。URLに入っている「%E3%81%82」のような文字列が何を表すのか知りたい。配布されたデータのハッシュ値を照合したい。開発や調査の現場では、データを別の形に変換する作業が頻繁に出てきます。

この記事では、FlowPocketのBase64・URLエンコード・ハッシュ値計算の3つのツールをまとめて、それぞれの違いと使い方を紹介します。入力した内容は外部に送られません。

APIキーや認証情報を含む文字列を、よく知らない変換サイトに貼り付けるのは避けたいものです。3つとも、ブラウザの中だけで完結するように作っていますので外部送信なしで安心です。

3つの変換の違い

変換 何をするもの? 元に戻せる?
Base64 あらゆるデータを英数字と記号だけの文字列にする 戻せる(デコード)
URLエンコード URLで使えない文字(日本語・記号)を「%+16進数」にする 戻せる(デコード)
ハッシュ値 データから、決まった長さの「指紋」のような値を計算する 戻せない

大事なのは、Base64とURLエンコードは暗号ではないということです。誰でも簡単に元に戻せるので、パスワードなどを隠す目的には使えません。

Base64エンコード・デコード

Base64は、メールの添付ファイル、HTTPのBasic認証、APIでの画像データのやり取りなど、テキストしか送れない仕組みでデータを送るために使われます。

  1. Base64エンコード・デコードの入力欄に、テキストまたはBase64の文字列を貼り付けます
  2. 「エンコード(テキスト → Base64)」か「デコード(Base64 → テキスト)」を選びます
  3. URLやJWTで使う場合は、「URLセーフ形式」にチェックを入れます

日本語を含むテキストをBase64にエンコードした画面

日本語はUTF-8として変換します。Shift-JISで作られたBase64は、正しく戻らない場合があります。

URLエンコード・デコード

日本語を含むURLをコピーすると、「%E6%A4%9C%E7%B4%A2」のような文字列になることがあります。これがURLエンコード(パーセントエンコーディング)です。

  1. URLエンコード・デコードの入力欄に、テキストやURLを貼り付けます
  2. 「エンコード」か「デコード」を選びます
  3. エンコードの方式を選びます。検索キーワードなどの値だけを変換するなら「パラメータの値として」、完成したURLをまとめて変換するなら「URL全体として」

パーセントエンコーディングされた検索URLをデコードし、「無料 画像圧縮」が読めるようになった画面

アクセス解析やログに残ったURLをデコードすると、どんなキーワードで検索されたかが読めるようになります。

ハッシュ値計算

ハッシュ値は、データから計算される決まった長さの値です。元のデータが1文字でも違えば、まったく別の値になるため、データが同じかどうかの照合に使われます。

  1. ハッシュ値計算の入力欄にテキストを入力します
  2. MD5・SHA-1・SHA-256・SHA-512の4種類が、自動で一度に計算されます
  3. 各行の「コピー」で、必要なハッシュ値をコピーします

「FlowPocket」のMD5・SHA-1・SHA-256・SHA-512が表示された画面

新しく使うならSHA-256が標準です。MD5とSHA-1は、既存システムとの照合には今も使われますが、安全性が求められる用途には推奨されていません。なお、このツールはテキストのハッシュ値を計算します(ファイルのハッシュ値には対応していません)。

活用シーン

  • APIの動作確認:送信するデータをBase64にしたり、返ってきたBase64を読める形に戻したりする
  • ログ・アクセス解析の調査:エンコードされたURLやパラメータを、日本語に戻して読む
  • データの照合:システム間で、同じ文字列から同じハッシュ値が出るかを確かめる
  • メール・認証ヘッダーの確認:Base64で書かれた部分の中身を確かめる

よくある質問

Base64でパスワードを隠せますか?

隠せません。Base64は誰でもすぐにデコードできる変換で、暗号化ではありません。パスワードや個人情報を守る目的には、暗号化やハッシュ化(パスワード保存には専用の方式)を使ってください。

同じ文字列なのに、ほかのツールとハッシュ値が違います

よくある原因は、文字コードの違い(UTF-8とShift-JIS)と、末尾の改行や空白の有無です。ハッシュ値は1文字の違いでもまったく変わるので、入力が完全に同じか確かめてください。

パスワードのハッシュ化に使ってもいいですか?

パスワードを保存するときは、SHA-256のような高速なハッシュではなく、bcryptやArgon2などの専用の方式を使うのが安全です。このツールは、データの照合や確認に使ってください。

注意点

  • エンコードは暗号化ではありません:秘密の情報を守る用途には使えません
  • 文字コードはUTF-8です:Shift-JISのデータでは、結果がほかのツールと異なることがあります
  • デコード結果がJSONなら:JSON整形で見やすくできます
  • 安全なパスワードを作りたいときは:パスワード生成が使えます

まとめ

Base64とURLエンコードは元に戻せる変換、ハッシュ値は元に戻せない指紋です。違いを押さえておけば、資料やエラーメッセージに出てきたときも迷いません。

FlowPocketの3つのツールなら、APIキーなどを含むデータでも、外部に送ることなく変換できます。

🧬さっそく使ってみるBase64エンコード・デコード日本語対応・URLセーフ形式もツールを開く →

この記事で使ったツール

エンコード・セキュリティのほかのツール