パスワード管理術(弱点あり)
「パスワード管理術 - 将来が不安」 を読んで思いついたパスワード生成アルゴリズムがあるので、ツールを作りました。
ドメインごとにパスワードを別々にしたいけど、 覚えるのは1種類にしたい、と思ったので、 「hash(ドメイン+共通パスワード)」 という仕組みにすればよさそうだ、と。
「genpasswd example.com」とドメイン名をつけて実行して、 標準入力から共通パスワードを入れると、 そのドメイン用のパスワードができてきます。 ドメイン名のところは、仕組み上はドメイン名に限定しているわけではないので、 いろいろ使えるかと。
標準モジュールの optparse と getpass は今回知りましたけど、便利です。
弱点ですが、example.comの管理者はパスワードを見れますので、 「hash(example.com+共通パスワード) = パスワード」の関係から、 総当たりでもなんでも、共通パスワードを推定することができて、 それさえできてしまえば、他のドメインのパスワードも抜き放題という。
似たものに mkpswd というツールもあって、 これは「hash(任意のファイル)」としてパスワードを作るもので、 これは誰かの考えたアルゴリズムをPythonに移植しただけなんですけどね。 使い捨てのパスワードを作るのに重宝します。