Python实现随机密码生成器-创新互联
前言
运维过程中经常需要用到随机密码,例如服务器、Mysql、Redis等密码的设置,用随机密码会相对安全一点。这里使用Python来实现一个随机密码生成器
创新互联建站专注于企业网络营销推广、网站重做改版、汝阳网站定制设计、自适应品牌网站建设、html5、成都商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为汝阳等各大城市提供网站开发制作服务。认识random模块
random模块可以从多个字符中随机先出一个字符,我们可以把所有数字放到一个字符串里,random.choice能够从中随机选出一个数字,如下
>>> import random
>>> random.choice('1234567890')
'9'
>>> random.choice('1234567890')
'2'
写个循环随机生成
假如我们需要生成30位随机密码,包含数字、大小写字母、特殊符号。我们可分为四种,然后随机生成并且放到列表里,程序如下:
import random
result = []
for i in range(0, 20):
if i % 4 == 0:
result.append(random.choice('1234567890'))
if i % 4 == 1:
result.append(random.choice('abcdefghijklmnopqrstuvwxyz'))
if i % 4 == 2:
result.append(random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))
if i % 4 == 3:
result.append(random.choice('!$%()+,-.:;>?@[]`{}'))
print("".join(result))
执行结果如下:
[root@devops root]# python /tmp/shijiange.py
0iQ+3eC]5oA}0aJ@2mJ:
[root@devops root]# python /tmp/shijiange.py
0qX>9cG-4pY`3tT.0gN`
[root@devops root]# python /tmp/shijiange.py
1xN%3rG{6aA]0cD.2nL-
[root@devops root]# python /tmp/shijiange.py
5jB]1xA]2yW,5vM:0bH%
把随机密码打乱
由于循环生成的密码,第一个是数字,第二个是小写字母,第三个是大写字母,第四个是字符。虽然比较复杂,但有点规律,我们可以把20个字母随机打乱。
import random
result = []
for i in range(0, 20):
if i % 4 == 0:
result.append(random.choice('1234567890'))
if i % 4 == 1:
result.append(random.choice('abcdefghijklmnopqrstuvwxyz'))
if i % 4 == 2:
result.append(random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))
if i % 4 == 3:
result.append(random.choice('!$%()+,-.:;>?@[]`{}'))
random.shuffle(result)
print("".join(result))
随机生成密码,运行结果如下,每次运行都生成随机密码:
[root@devops ~]# python /tmp/shijiange.py
h37;XMo$w;lpAQ7:J.08
[root@devops ~]# python /tmp/shijiange.py
1ptQ%8c:ED7C8[m$(7yD
[root@devops ~]# python /tmp/shijiange.py
`ri0+(CwP3Wd0P}-4Yj2
[root@devops ~]# python /tmp/shijiange.py
qLcJ-F2>)S0K11{fq$q8
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
名称栏目:Python实现随机密码生成器-创新互联
文章来源:http://lswzjz.com/article/cccecj.html