Cisco Type 7 パスワードの復号
エンコード処理はすべてブラウザ内で完結します。データは送信されません
Cisco IOS 設定の `password 7 …` を扱います。まず重要な点を:⚠️ Type 7 は暗号化ではありません。IOS イメージに固定で埋め込まれた鍵との XOR なので、この文字列を持っている人は誰でも即座に平文へ戻せます。Cisco 自身のドキュメントも、その目的は背後から画面を覗く人を防ぐことだと明記しています。本ツールはそれを元のテキストに戻します —— 古い機器を引き継いだときや、バックアップ設定からサービスのパスワードを探すときに役立ちます。行ごと貼り付けても構いません:`password 7 0822455D0A16` や `username bob password 7 0822455D0A16` もそのまま認識します。
機能
- 双方向:設定文字列 → 平文、平文 → 設定文字列
- 設定行ごと貼り付け可能 —— `password 7` の接頭辞、引用符、前後の空白を自動で除去します
- 暗号化時はオフセットを指定できます(Cisco は 0〜15 をランダムに使用)
- 完全な 53 バイトの鍵を使うため、26 文字を超えるパスワードも正しく復号できます
- 日本語などの非 ASCII 平文は UTF-8 バイトとして扱い、往復で欠損しません
使い方
- 機器の設定から該当の文字列をコピーします(`password 7` ごとでも構いません)
- 入力欄に貼り付けると、平文がすぐに表示されます
- 逆方向に生成する場合は、方向を「暗号化」に切り替えます
- 「コピー」で結果を取り出せます
よくある質問
- Type 7 は `enable secret` と同じものですか?
- 違いますし、安全性の差は甚大です。設定の `enable secret`(Type 5)は一方向ハッシュ(古くは MD5、現在は scrypt や bcrypt)で不可逆です。一方 `password 7`(Type 7)は可逆な XOR なので、設定を持っている人は誰でも復元できます。可逆な形式が残ったのは、CHAP などのプロトコルがダイジェスト計算のために平文を必要としたためで、その代償が「実質無防備」です。`password 7` を見かけたら、その機器の設定に平文パスワードが入っていると考えてください。
- 一部のオンラインツールが長いパスワードを復号できないのはなぜですか?
- 鍵の先頭 26 バイトしか使っていないからです。完全な鍵は 53 バイト:`dsfd;kfoA,.iyewrkldJKDHSUBsgvca69834ncxv9873254k;fg87`。26 バイトでも短いパスワードは正しく復号できます(インデックスが 26 に届かないため)。だからこの誤りは深く潜みます —— 26 文字を超えるパスワードを復号した瞬間、27 文字目以降がすべて狂います。本ツールは完全な鍵を使い、その境界を狙ったテストを用意しています。
- 暗号化時の「オフセット」とは何ですか?
- 鍵の開始位置で、暗号文の先頭2桁の10進数として書き込まれます。Cisco は 0〜15 からランダムに選ぶため、同じパスワードでも機器ごとに符号化結果が変わります —— ただしこれは一切の安全性を提供しません。同じ設定内の複数のパスワードが互いに違って見えるようにするだけです。特定の機器の出力を再現するには、そのとき使われたオフセットが必要で、その値は暗号文の先頭2文字にあります。
関連ツール
htpasswd 生成
エンコードApache / Nginx のベーシック認証用 htpasswd パスワードをオンライン生成。bcrypt・APR1-MD5 対応、貼るだけのコマンド付き。パスワードは送信しません。
データベースパスワード
エンコードPostgreSQL の md5、MySQL・MariaDB の mysql_native_password ハッシュを生成し、そのまま使える SQL も表示します。
ハッシュ計算
エンコードMD5・SHA-1・SHA-256・SHA-512 のダイジェストを計算します(旧システム向けの MD4・MD2 も可)。日本語も UTF-8 バイトで計算します。
Base64 変換
エンコードテキストを Base64 に変換し、Base64 からテキストへ戻します。日本語や中国語、emoji も UTF-8 として正しく処理。すべてブラウザ内で完結し、内容は送信しません。
URL エンコード
エンコード日本語や中国語、空白・記号を %XX にエスケープし、復元します。URL 全体とパラメータ値では方式が異なり、間違えるとリンクが開けません。ブラウザ内で処理します。
HTML 実体参照
エンコード< > & と引用符を HTML 実体参照に変換し、文字へ戻します。デコードは1回だけで、&lt; は山括弧ではなく < になります。すべてブラウザ内で処理します。