17 lines
440 B
Ruby
17 lines
440 B
Ruby
ARRS = [("a".."z").to_a,
|
|
("A".."Z").to_a,
|
|
("0".."9").to_a,
|
|
%q(!"#$%&'()*+,-./:;<=>?@[]^_{|}~).chars] # " quote to reset clumsy code colorizer
|
|
ALL = ARRS.flatten
|
|
|
|
def generate_pwd(size, num)
|
|
raise ArgumentError, "Desired size too small" unless size >= ARRS.size
|
|
num.times.map do
|
|
arr = ARRS.map(&:sample)
|
|
(size - ARRS.size).times{ arr << ALL.sample}
|
|
arr.shuffle.join
|
|
end
|
|
end
|
|
|
|
puts generate_pwd(8,3)
|