ランダム文字列スクリプト (オープンソース)@2014.08.11
メール添付ファイルなどにパスワードをかけてファイルを送信することはよくある話ですね。最初の内は自分で考えていたパスワードですが、さすがに毎回毎回考えるのもなかなかしんどいです。そこで、コマンド一つでランダムな文字列のパスワードを生成できた方が楽だと思い、下記のような perl スクリプトを作りました。またLinux等のターミナル上で出力された文字列を毎回メールツールなどへコピー&ペースト(コピペ)するのも面倒なため、pbcopy が入っている場合はクリップボードに生成されたパスワードを入るようにしました。本perlスクリプトを使ってみてください。
#!/usr/bin/perl # random password script # Written by BOSCO Technologies Inc. # https://www.bosco-tech.com/bs-tech/ # You may modify or distribute this file by remaining above line use strict; use warnings; my $length = 8; if (@ARGV > 0) { $length = $ARGV[0]; } my @elements = ('a'..'z', 'A'..'Z', 0..9, '-', '_', '@'); my $passwd = ''; while (length $passwd < $length) { $passwd .= @elements[int rand(@elements)]; } print $passwd . "\n"; my $loc = `whereis pbcopy`; if (length $loc) { `printf $passwd | pbcopy`; }
使い方は下記の通りで、引数無しの場合は 8 文字の英数字+一部の記号をランダムで組み合わせたパスワードを、引数ありの場合は指定された長さのパスワードを生成します。
$ ./genpasswd tCs1IgW_ $ ./genpasswd 16 qQ61D@VPkxnYLI-f