Excelでのパスワード生成,あちこちにありそうなネタですが…
よくあるのは,使いたい文字種を列挙しておいて,
その長さの範囲内の乱数を生成して1文字をランダムに取り出し,
それを欲しい文字数分だけ並べる,というやつですね.
これは,セル内の数式がやたら長くはなりますが,最初の入力はコピペでよいし,
一度生成すれば単にコピペするだけなので割と最強な気もします.
とはいえ,ちょこっとやりたいときにもうちょっとお手軽な,というので,こういうのも時々使ってます.
=BASE(RANDBETWEEN(0,36^8-1),36,8)
これだと英字は大文字だけになりますけど(BASE関数で指定できる基数は36まで),元文字列を延々と打つのもたるいと思ってしまう無精者なので…
生成されるパスワード文字列の例は以下のようになります.
Password |
---|
87LTG7ZW |
PD45C9MP |
WG78QM4Y |
要は,乱数を生成させ,0,1,..9,A,B,...,Z の36進数として表しているだけです.
ちなみにExcelは10進数で$ 10^{15}$までしか保持していないので,
$ \log_{36} 10^{15}$ $ \sim 9.64 $ということで,9桁までですね.
10桁以上は & で同じ処理を連結する,というのはよくある手法と一緒です.