返回首页 - Notes - 2016

随机密码生成器


#!/usr/bin/env ruby

#
# 随机密码生成器
# 默认生成长度为15的随机密码
# 可传递自定义长度
#

len = ARGV&.first&.to_i
len = 15 unless len
len = 1  if len < 1

char_list = []
char_list += ('a'..'z').to_a
char_list += ('A'..'Z').to_a
char_list += (0..9).to_a
char_list += %w[ ~ ! @ # $ % ^ & * - _ + = < , > . ]

while len > char_list.size do
  char_list += char_list
end

password = char_list.shuffle[0...len].join('')
puts password

使用方法

  1. 将上述脚本保存为 password 文件,并赋予可执行权限:chmod a+x password
  2. ./password 20:生成长度为 20 的随机密码

date:2016-11-23、2016-11-25