# サービスごとのパスワードを生成するヘルパーツール書いた > マスタパスワードからサービスごとに異なるパスワードを自動生成するのが簡単な対策ですよね。 << サービスごとに異なるパスワードを使い分ける方法 http://d.hatena.ne.jp/kazuhooku/20130509/1368071543 これを読んで、確かに!と思ったので、そこそこ実用に耐えそうな程度にモジュール化してみました。 ## App::MyPasswd ### mypasswd 上のモジュールに `mypasswd` というコマンドが付いてきます。以下のような感じで使用します。 $ mypasswd --salt example.com Input master password: Again, input same master password: use this: SRGPNbcA `--salt` でサービスのホストなんかを指定しておいて、master パスワードを別途入力して、その2つから生成した文字列を実際のパスワードとして利用する感じですね。 * マスターパスワードは表示させません * デフォルトで SHA の b64digest で大文字小文字英数と記号のパスワードを生成 * `--only-number` オプションで数字だけのパスワードが生成できます * `--only-uc` または `--only-lc` でアルファベットを大文字小文字だけにできます * `--no-symbol` で記号を使わないパスワードにできます というように、サイトのパスワードの要件にあわせた生成オプションをつけてみました。 ### とはいえ実用的にはまだけっこう大変>< いろいろ複雑になってくると、生成コマンド自体を覚えておかないと再計算が難しいという問題がありまして、まあどうしよっかなーと思ったんですが、取り急ぎ自分は適当にディレクトリ/ファイルこさえてパスワード生成履歴を記録して git 管理する目論見。 サービスに登録したときにメモしておきたい内容もそこにぶっこんでしまう運用で良さそうな感じがしてる。 と、ここまで書いたところで、`mypasswd --log path/to/file` とかやれて生成オプション記録されてれば楽かなとか思った。 srd `mypasswd --log path/to/file` これ実装しました。