4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ruby で Password 自動生成プログラム

Last updated at Posted at 2018-10-07

Ruby で Password 自動生成プログラム

Rubyでパスワードを自動生成するプログラムを作ります。
下記がソースコードですが、
適宜、数字・記号などパスワードから外したい文字はコメントアウトしてください。

create_password.rb
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'),'~','!','@','#','$','%','^','&','*','(',')','-','+']

4
3
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?