概要
- base64エンコードされたJSON や証明書の見分け方を解説
- 先頭の文字列から エンコード内容 を推測する方法
- PEM形式証明書 ・秘密鍵の識別例
- 注意点 や誤検出パターンも紹介
- シンプルで便利な 小技 の共有
base64エンコード文字列から内容を推測する技
- homelabで 暗号化ファイル を調査
- ファイル内に key_provider.pbkdf2.password_key のようなbase64文字列を発見
- 同僚のアドバイスで base64デコード を試した結果、 JSON形式 の鍵情報を取得
- 例:
echo "eyJzYW..." | base64 -d- 出力:
{"salt":"...","iterations":600000,"hash_function":"sha512","key_length":32}
- JSONがbase64エンコード されている場合、先頭が
eyで始まるケースが多いeyは{"のbase64表現
- 追加例:
echo "{\"" | base64→eyIKecho "{\"s" | base64→eyJzCg==- 先頭が
eyなら base64 JSON の可能性が高い
PEM証明書や秘密鍵のbase64判別
- 証明書や秘密鍵 (PEM形式)は
-----BEGIN CERTIFICATE-----などで始まる - これをbase64エンコードすると先頭が
LSになるecho -en "-----BEGIN CERTIFICATE-----" | base64→LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t
LSは---(ハイフン3つ)のbase64表現- 秘密鍵やその他PEMデータ も同様に判別可能
注意点と誤検出パターン
- YAMLファイル で
---(ドキュメント開始記号)も同じくLS0tLS0Kで始まるecho "---\n" | base64→LS0tLS0K
- PEM形式以外 のデータも
LSで始まる場合があるため、 完全な判別法ではない - base64の先頭文字列 だけで内容を断定せず、必要に応じて デコードで確認 推奨
まとめと小技の活用
- base64エンコード文字列の先頭 を見るだけで、ある程度 中身を推測 できる
ey→ JSON、LS→ PEM証明書/秘密鍵やYAML- 完全な判定法ではない が、 素早い調査やデバッグ に有効
- Davide、Denis、tyzbit によるシンプルかつ便利なテクニック