暗証番号やPINコードに使えるような、指定された桁数のランダムな整数値を生成したいのである。
英数記号を用いたパスワード文字列の自動生成については知見があるのだが、「数字のみ」という条件が付いた途端に、「あれ? そういえば、どう生成すればよいのかなあ?」とつまづいてしまったのである。
パスワード文字列の生成ではpwgen(1)を愛用している。他のツールを探すのも面倒なので、pwgen(1)で何とかできないだろうか?
man(1)を見ながら検討した結果、手元のpwgen 2.08ではこんな感じで数字のみのパスワードを生成することに成功した。
# 6桁のPINコードを1つ生成する場合: pwgen -A -r abcdefghijklmnopqrstuvwxyz -s 6 1
オプション-A
を指定して英大文字を除外した上で、オプション-r
を使って英小文字を除外している。オプション-y
を指定しなければ、記号文字は使われない。消去法で、残された有効文字は数字のみとなる。
他にもっとスマートなツールが存在するはずだが、とりあえず個人的に使う分にはこんなもので十分だろう。