メインコンテンツへ移動

エンコードツール

これらのエンコードツールは、テキスト、バイナリ、その転送に安全な表現の間を変換します。すべてがブラウザ内で動作します。この点は、サイトの他のどこよりもここで重要です。人がデコードする文字列はたいてい認証情報であり、サーバーサイドのデコーダーに貼り付けることが、その文字列をログに残す経路になるからです。

4個のツール端末内で処理

変換

解析

生成

ブラウザベースのエンコードツールはどんなときに使うべきですか?

エンコードはこのサイトで最も地味なカテゴリーであり、悪いツールが最も大きな被害を出すカテゴリーでもあります。急いでデコードされる文字列は、圧倒的に秘密です。失敗したリクエストから取り出したベアラートークン、Kubernetesのシークレット、Basic認証のヘッダー、署名付きクッキー、サポートチケットに貼られたセッション識別子。どれも、貼り付けた瞬間に有効な認証情報です。

ほとんどのオンラインデコーダーは、その文字列をサーバーへ送ります。善意のものですらアクセスログに書き込みます。アクセスログはまさに、サードパーティの集約サービスへ送られ90日間保持される類のファイルです。ツールは2秒であなたの問題を解決し、静かにはるかに大きな問題を作り出したのです。

ブラウザ内で行えば、それらは完全になくなります。信頼すべきリクエストが存在しないからです。そもそもリクエストがないのです。デコーダーは、すでに開いているページ内のJavaScriptであり、この段落を読むのと同じ時間でNetworkパネルで確認できます。

デコーダーが正しく扱うべきもう1つの点は、Base64が自身の中身を記述していないことです。Base64はバイトからテキストへの写像であり、その下にあるバイトはUTF-8かもしれないし、PNGかもしれないし、gzipストリームかもしれないし、protobufメッセージかもしれない。常に結果を文字列として表示するデコーダーは、かなりの割合であなたに嘘をついています。そこでこれらのツールはまずバイトとしてデコードし、選択させます。テキストとして表示するか、実際のバイナリをダウンロードして、それを理解するソフトウェアで開くか。

アルファベットも重要です。標準Base64とURLセーフBase64は2文字が異なり、パディングの有無も違います。ここを間違えることが、デコード失敗の単独最大の理由です。あなたに解読を強いる代わりに、このデコーダーは両方を受け付け、欠けたパディングも許容し、検出した方式を教えてくれます。

エンコードは行き先ではなく、中間の一手順であることが多いものです。デコード結果がJSONなら(トークンや設定の塊では、たいていそうですが)、そのままJSONフォーマッターへ運んで読みやすくするか、解析できないならJSONバリデーターへ。変換ではなく識別子が必要な場合は、UUIDジェネレーターが隣にあります。

よくある質問

ここでトークンをデコードしても安全ですか?

サーバーで行うどこよりも安全です。デコードはあなた自身のブラウザ内で起こり、文字列は送信されないからです。DevToolsを開き、Networkパネルに切り替えてトークンを貼り付けてみてください。それを運ぶリクエストは一切ありません。そのうえで、マシンが自分のものでないなら、どのブラウザタブに貼り付けた認証情報も、ローテーションすべきものとして扱ってください。

Base64とURLセーフBase64の違いは何ですか?

アルファベットの2文字が異なります。標準Base64(RFC 4648 §4)は+と/を使いますが、この2文字はどちらもURL内で意味を持つため、パーセントエンコードで壊れます。URLセーフBase64(§5)は-と_に置き換えるため、クエリパラメーターやパスセグメントに入れても文字列が無事で済み、通常は=のパディングも省きます。JWTはURLセーフ方式を使うため、JWTのセグメントを標準のデコーダーに貼り付けても失敗しがちなのです。

デコードしたテキストに置換文字が表示されるのはなぜですか?

バイトがUTF-8テキストではないからです。Base64は任意のバイトをエンコードするもので、そのバイトが何を意味するかの情報は運びません。ペイロードがPNG、protobufメッセージ、gzipストリームなら、テキストとして解釈すると文字化けします。代わりにバイナリダウンロードを使ってください。デコーダーはエンコードを推測する代わりに、実際のバイトをファイルとして手渡します。

Base64にエンコードするとデータは安全になりますか?

なりません。はっきり申し上げます。実際の情報漏えいが繰り返し生まれる原因だからです。Base64はエンコードであって暗号化ではありません。鍵なしで、誰でも完全に元に戻せます。テキストしか受け付けない経路でバイナリデータを運ぶために存在する仕組みです。設定ファイルやURLに現れたBase64文字列は、丸見えのものとして扱ってください。

サイズの上限はありますか?

入力は8 MBまでです。サイト全体で使われているメインスレッドの上限値です。Base64はデータを約3分の1に膨らませるため、8 MBのバイナリは約10.7 MBのテキストになります。上限を超えると、タブを固まらせる代わりに、明確なメッセージとともにツールが辞退します。

ToolsByUsにはほかに何がありますか?

ToolsByUs — エンコードツール