ceph_chef_secure_password_alphanum_upper

in libraries/ceph_chef_helper.rb [797:813]


def ceph_chef_secure_password_alphanum_upper(len = 20)
  
  alphanum_upper = [*'0'..'9']
  alphanum_upper += [*'A'..'Z']
  
  
  raw_pw = ''
  while raw_pw.length < len
    raw_pw << ::OpenSSL::Random.random_bytes(1).gsub(/\W/, '')
  end
  pw = ''
  while pw.length < len
    pw << alphanum_upper[raw_pw.bytes.to_a[pw.length] % alphanum_upper.length]
  end
  pw
end