随机密码生成条件

Wab*_*son 5 passwords algorithm generator

我正在使用随机密码生成器来创建满足某些条件的密码,包括但不限于:

  • 最小长度:必须至少包含8个字符
  • 小写字母:必须包含小写字母(从一组中选择,以避免出现可能被误认为数字的字符的问题)
  • 大写字母:必须包含大写字母(再次从一组中选择)
  • 数字:必须包含数字

确保生成的密码满足所有这些要求的最佳算法方法是什么?

我不是在寻找一个完整的解决方案,我只需要一些好的想法和指导.

Arm*_*yan 6

1)随机生成数字L,这将是您的密码的确切长度.即,生成使得它大于8
2)随机生成数字LL,其将是小写字母的数量.LC必须在[1..L-2]范围内
3)随机生成数字LU为大写.必须在[1..L-LL-1]范围内
4)LD = L-LL-LU大写数字
5)随机生成LL小写字母,LU大写字母和LD数字并将它们保存在一个列表中(数组) )
6)随机播放阵列

心连心

  • "随机生成"背后隐藏着一些复杂性.如果使用统一的随机数,则生成的密码将不会在满足要求的整个密码集中均匀分布.例如,在一个8个字符的密码中,你平均得到2.25个数字,而使用@ dana的解决方案,你将得到1.69. (5认同)