“Python生成随机密码”与“Python电子邮件”:页面之间的差异

来自linuxsa wiki
(页面间差异)
跳转到导航 跳转到搜索
Evan留言 | 贡献
导入1个版本
 
Evan留言 | 贡献
导入1个版本
 
第1行: 第1行:
python生成随机密码
#重定向 [[Python email 电子邮件]]
 
== 起因==
<pre>早上帮虾哥搞个mysql 一时不知要用什么密码比较好,于是想到这几天在学习python 那就让万能的python出来吧 哈哈
 
string模块中的3个函数:string.letters,string.printable,string.printable。以下是这几个函数的输出,大家可以看一下,不用多讲:
 
In [1]: import string
In [2]: string.letters
Out[2]: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
 
In [3]: string.digits
Out[3]: '0123456789'
 
In [4]: string.printable
Out[4]: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'</pre>
 
==主体 ==
=== 主体代码===
<pre>以下是随机生成4组包含数字、大小写字母的随机数生成方法,大家可以指定随机数的长度:
 
#!/usr/bin/python
#-*- coding:utf-8 -*-
'''
make_password.py
简短地生成随机密码,包括大小写字母、数字,可以指定密码长度
'''
#生成随机密码
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(4):
        #密码的长度为15
        print GenPassword(15)
</pre>
===代码解说===
<pre>
 
首先是join
In [35]: str='-'
In [36]: seq =['x','y','z']
In [37]: print str.join(seq);
x-y-z
 
#所有字母和数字
In [30]: chars=string.ascii_letters+string.digits
 
In [31]: chars
Out[31]: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
 
##随机选择两个字符
In [32]: [random.choice(chars) for i in range(2)]
Out[32]: ['5', 'l']
 
In [33]: [random.choice(chars) for i in range(2)]
Out[33]: ['Q', 'v']
 
#把字符 串在一起  中间没有空格哦
In [34]: ''.join([random.choice(chars) for i in range(2)])
Out[34]: '9x'
</pre>
 
 
==参考==
http://wangwei007.blog.51cto.com/68019/1224833
 
http://www.ttlsa.com/python/python-random-password/
 
python join 和 split的常用使用方法
http://wangwei007.blog.51cto.com/68019/1100587
http://www.runoob.com/python/att-string-join.html
 
 [[category:python]]

2019年10月14日 (一) 13:52的最新版本