首页 > Python > 用python写一个复杂密码生成器
2016
05-12

用python写一个复杂密码生成器

我们来用python写一个密码生成器,用random随机从a-z挑选,实现随机数第一版:

为了增加密码的强度,需要把小写字母改为大小写+数字的

alphabet = “abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”

ok,这样生成出来的密码虽然强度增大了一些,不过为了保证我们会有至少一个大写字母和小写字母,那么首先生成一个小写字母的密码,然后随机选择一个或多个大写字母来代替其中一个字母,或者来用一个数字代替一个或多个字母

上述python脚本用len(mypw)//2作为获取范围的一个点,保证第一步和第二步只取第一个for循环生成mypw一半的范围。

这一步把str(random.randrange(10))的值嵌入到生成的mypw字符串中,下面同理,由此生成的密码数字都在前面,而大写都在后面,如果再随机一些,数字、小写、大写不按顺序排列呢,下面第三版用shuffle(洗牌,混乱)方法:

上面代码的第一个循环是生成小写、大写、数字的列表,第二个循环是因为密码长度不是3的整数倍,而后面空了2个位置,这时把后面2个空位补上。最后由shuffle方法处理,生成大小写和数字相混合的密码。

译自http://interactivepython.org/runestone/static/everyday/2013/01/3_password.html 感谢文章作者

最后编辑:
作者:bbotte
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。