日々の記録。

プログラミングのメモや感じた事などを記録。

ruby で 英数字記号を用いたランダムパスワードの生成

英数字記号が必ず入るランダムパスワードの生成

def password_gen(length=8)
  numbers = [*0..9]
  alpha_bigs = [*'A'..'Z']
  alpha_smalls = [*'a'..'z']
  symbols = "! # $ % & @ + * ?".split(/\s+/)

  codes = [numbers, alpha_bigs, alpha_smalls, symbols].shuffle
  password = []

  length.times do |i|
    password << codes[i % codes.length].sample(1)
  end

  password.shuffle.join

end

参考にしたサイト