pwgen で、指定された文字を使ったパスワードを生成する
あるWebサービスのパスワードを変更しようとしたら、「8-20文字で、ローマ字、数字、ハイフン、アダーバー、ドットのみ利用可能」の条件があって困った。
パスワードを生成する時、いつもは pwgen で以下のように作っている。
$ pwgen -sy 20 1
意味: 完全にランダムな英数記号で20文字のパスワードを1つ生成
記号は使いたいが、使えない記号があるので困る。
pwgen は利用する文字を細かく指定できないので、以下のようにして対応する事にした。
$ pwgen -1sy 20 10000 | egrep "[a-zA-Z0-9_.-]{20}"
意味: 1行ずつ、セキュアで(完全にランダムな)、記号を含む、20文字のパスワードを 10000 個作る => その中からローマ字、数字、ハイフン、アダーバー、ドットを含むものを表示