100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python随机密码生成代码大全_Python实现随机密码生成器

python随机密码生成代码大全_Python实现随机密码生成器

时间:2019-08-04 16:46:22

相关推荐

python随机密码生成代码大全_Python实现随机密码生成器

Python实现随机密码生成器

发布时间:-07-02 10:42:27

来源:51CTO

阅读:839

作者:实践哥

前言

运维过程中经常需要用到随机密码,例如服务器、Mysql、Redis等密码的设置,用随机密码会相对安全一点。这里使用Python来实现一个随机密码生成器

认识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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。