python生成随机密码串


python 的random模块可以生成随机数,主要用这个生成随机密码。

string模块中的3个函数:string.letters,string.printable,string.printable


>>> import string
>>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits
'0123456789'
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'



 以下是随机生成10组包含数字、大小写字母的随机数生成方法,大家可以指定随机数的长度:


#!/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)


 python passwd.py     
BdMXufZF5KtYhjJ
EdQIJyMjoB7OR2t
pbKk58ptWQIwf9Z
puFyPnwBmX9mSyW
9Rna9D8oxEbJS7s
dh2fEFKHQouXj9F
WZRNrc0k94Yn8Ks
MsheWb2leZXEAVI
rBqF7C6VjprLN6Z
99a3ZyW37cB7BeJ