首页 > 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
这个作者貌似有点懒,什么都没有留下。

用python写一个复杂密码生成器》有 1 条评论

  1. I seriously love your site.. Very nice colors & theme.

    Did you make this amazing site yourself? Please reply back as I’m
    planning to create my own personal blog and would like to
    know where you got this from or just what the theme is called.
    Thanks!

留下一个回复

你的email不会被公开。