我正在尝试生成一定长度的安全密码,以满足特定条件.
例如,我想要(比方说)10个字母的密码:
至少有1封大写字母
至少有1个小写字母
至少有1个号码
至少有1个下划线(或其他字符,但下划线是好的,因为某些限制只接受下划线)
我试过了
SecureRandom.url_safeBase64(10)
Run Code Online (Sandbox Code Playgroud)
但这会产生太长的字符串,并不能保证每个限制都存在.
想知道是否有一个简单的方法......
low = ('a'..'d').to_a
up = ('A'..'Z').to_a
num = ('0'..'9').to_a
u = ['_']
any = low + up + num + u
pw = (low.sample(1) +
up.sample(1) +
num.sample(1) +
u.sample(1) +
any.sample(6)).shuffle.join
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |