Base64は暗号化ではありません|正しい使いどころ
Base64はバイナリをASCII文字に置き換える表現形式で、鍵がないため誰でも元に戻せます。使いどころ、URLセーフ形式、パディング、サイズが4/3になる理由をRFC 4648をもとに説明します。
リリース前に知っておきたい標準と落とし穴を、RFCと公式ドキュメントに基づいてまとめました
Base64はバイナリをASCII文字に置き換える表現形式で、鍵がないため誰でも元に戻せます。使いどころ、URLセーフ形式、パディング、サイズが4/3になる理由をRFC 4648をもとに説明します。
同じ文章でも、UTF-8、UTF-16、Shift_JIS(CP932)、EUC-KR(CP949)ではバイト数が変わります。日本語・半角カナ・絵文字のバイト数と、DBのVARCHARや固定長ファイル・帳票で長さを合わせる方法をまとめました。
GitHub Actionsのcronは既定でUTC、KubernetesのCronJobはコントローラーのタイムゾーンで動きます。日本時間に合わせる方法、5フィールドの書き方、日と曜日を同時に指定したときのORルールを解説します。
JWTのデコードはBase64URLを読むだけで、署名の検証ではありません。ヘッダーとペイロードの構造、exp・iat・nbfの時刻の読み方、alg: noneのトークンを受け入れてはいけない理由をRFC 7519をもとにまとめました。
開発で毎日使う6つのツールです。全20種は下のカテゴリにあります。
用途ごとに、すべてのツールをまとめました
ZEKILO Devには、入力を受け取るサーバープログラムがありません。サイトは静的ファイルだけで構成されており、整形・デコード・変換はすべてこのブラウザのJavaScriptが処理します。
開発者ツールのNetworkタブを開き、テスト用の文字列を貼り付けてみてください。その文字列は、どのリクエストのURLにも本文にも含まれません。新しく発生するのはツールのスクリプトを取得するリクエストだけで、アクセス解析に送るのはツールID、操作の種類、入力サイズの区分、エラーコードだけで、入力した内容は送りません。自動テストがChromium・Firefox・WebKitで同じ内容を検査しています。
64KBを超えるJSONやSQLはWeb Workerで解析するため、画面は止まりません。正規表現は専用のWorkerで1秒の制限をかけて実行するので、バックトラッキングが暴走するパターンでもタブは固まりません。Workerは同じブラウザ内の別スレッドであり、別のコンピューターではありません。
入力と結果はメモリ上にだけあり、再読み込みするかタブを閉じると消えます。ブラウザのストレージに残すのは、インデントなどのオプション値、言語の選択、Cookieのご案内を確認したかどうかだけです。会員アカウントも、入力を保持する共有リンクもありません。
入力はこのブラウザの中にとどまります。サーバーに送信せず、保存もしません。
入力するそばから結果が出ます。ボタンも待ち時間もありません。
エラーは行・列の位置と直し方をあわせて表示します。動作はRFC 8259(JSON)、RFC 7519(JWT)、RFC 4648(Base64)に従います。
ファイルや数値を扱うなら、ZEKILOのほかのサイトもどうぞ。