Ruby で Password 自動生成プログラム
Rubyでパスワードを自動生成するプログラムを作ります。
下記がソースコードですが、
適宜、数字・記号などパスワードから外したい文字はコメントアウトしてください。
print "Please input length of password you want! "
pass_size = gets.to_i
a = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a + ['~','!','@','#','$','%','^','&','*','(',')','-','+']
pass = Array.new(pass_size){a[rand(a.size)]}.join
puts pass
これを実行すると、
$ ruby create_password.rb
Please input password length you want!
となります。
ためしに32とか打つと、下記の通りに出力されます。
Please input length of password you want! 32
6E6tjZFl*ZslLgl!lcCTEViqK$%t9u^7
このパスを忘れないよう、次はどこかにメモするプログラムを作る予定です。
##【追記】ソースコードの一部短略化
@kts_h さんにご指摘頂きました。
a = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a + ['~','!','@','#','$','%','^','&','*','(',')','-','+']
上記コードは以下のように短略化することができます。
a = [*('a'..'z'),*('A'..'Z'),*('0'..'9'),'~','!','@','#','$','%','^','&','*','(',')','-','+']