|
python生成随机密码串
python 的random模块可以生成随机数,主要用这个生成随机密码。
string模块中的3个函数:string.letters,string.printable,string.printable
1
2
3
4
5
6
7
| >>> import string
>>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits
'0123456789'
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
|
以下是随机生成10组包含数字、大小写字母的随机数生成方法,大家可以指定随机数的长度:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| #!/usr/bin/env python
#-*- coding:utf-8 -*-
'''
简短地生成随机密码,包括大小写字母、数字,可以指定密码长度
#生成随机密码
'''
import random
import string
#python3中为string.ascii_letters,而python2下则可以使用string.letters和string.ascii_letters
def GenPassword(length):
chars=string.ascii_letters+string.digits
return ''.join([random.choice(chars) for i in range(length)])
'''
#得出的结果中字符会有重复的
#return ''.join(random.sample(chars, 15))#得出的结果中字符不会有重复的
'''
if __name__=="__main__":
'''#生成10个随机密码 '''
for i in range(10):
#密码的长度为15
print GenPassword(15)
|
1
2
3
4
5
6
7
8
9
10
11
| python passwd.py
BdMXufZF5KtYhjJ
EdQIJyMjoB7OR2t
pbKk58ptWQIwf9Z
puFyPnwBmX9mSyW
9Rna9D8oxEbJS7s
dh2fEFKHQouXj9F
WZRNrc0k94Yn8Ks
MsheWb2leZXEAVI
rBqF7C6VjprLN6Z
99a3ZyW37cB7BeJ
|
|
|