• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python随机生成带特殊字符的密码

Python随机生成带特殊字符的密码

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 特殊字符,python 去除特殊字符,python转义字符,python 格式化字符,python 字符转数字等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在日常运维中,如果涉及到用户管理,就一定会用到给用户设置密码的工作,其实吧,平时脑子里觉得设置个密码没什么,但要真让你随手敲一个12位带特殊字符的随机密码,也是很痛苦的事,如果让你敲10个这样的随机密码,我估计要人要疯了,所以这事不适合人干,但机器最做这个最拿手,今天我们就来学习一段python脚本,可以直接生成自己需要的密码,且密码长度,数字,字符个数随意你指定,废话不多说了,我们直接看代码:

#!/usr/bin/env python
import string
from itertools import chain
from random import choice, sample
def mkpasswd(length=12, digits=4, upper=3, lower=3):
lowercase = string.lowercase
uppercase = string.uppercase
salt = '!@#$%^&*()><?'
password = list(
chain(
(choice(uppercase) for _ in range(upper)),
(choice(lowercase) for _ in range(lower)),
(choice(string.digits) for _ in range(digits)),
(choice(salt) for _ in range((length - digits - upper - lower)))
)
)
return "".join(sample(password, len(password)))
if __name__ == '__main__':
print mkpasswd()
#!/usr/bin/env python
import string
from itertools import chain
from random import choice, sample
def mkpasswd(length=12, digits=4, upper=3, lower=3):
lowercase = string.lowercase
uppercase = string.uppercase
salt = '!@#$%^&*()><?'
password = list(
chain(
(choice(uppercase) for _ in range(upper)),
(choice(lowercase) for _ in range(lower)),
(choice(string.digits) for _ in range(digits)),
(choice(salt) for _ in range((length - digits - upper - lower)))
)
)
return "".join(sample(password, len(password)))
if __name__ == '__main__':
print mkpasswd()
</div>

脚本逐行解释,最开始几行导入了需要的模块,接下来定义一个mkpasswd的函数,函数的参数可以设置密码长度,数字、大写和小写字符的个数,接下来是函数主题部分:

利用string模块的属性生成大小写字符串,salt是特殊字符集(支持自己添加),我们重点说password的生成,它首先是一个列表,因为调用了list()工厂函数,chain()函数的功能是将一组迭代器对象连接起来,chain()里有三个生成器表达式,每个表达式调用for循环,然后随机选择指定个数的字符,可能大家有看到for循环中有一个_(下划线),这个下划线有什么作用呢?我就不卖关子了,其实它啥作用也没有,我自己理解为用不到的变量,这种写法大家以后也可以用,比如你在循环的时候用不到这个变量,就可用用_(下划线)来表示。

函数最后是return连接后的字符串,sample()函数是从随机样本中取出自己指定的样本个数,需要两个参数,一个是样本,一个是取多少,取的过程是随机的,其实在这个脚本中这个函数没有发挥它完全的功能,因为生成的password就是12位的,然后在取出12位,不存在从大样本中取出小样本的工作,但起到了随机的功能,所以生成的密码是字符都是随机的。

关于Python随机生成带特殊字符的密码就给大家介绍到这里,希望对大家有所帮助!

</div>

您可能想查找下面的文章:

  • Python随机生成带特殊字符的密码
  • Python中特殊函数集锦

相关文章

  • 简化Python的Django框架代码的一些示例
  • python进阶教程之动态类型详解
  • python实现图片批量剪切示例
  • Python中使用urllib2防止302跳转的代码例子
  • 详细介绍Ruby中的正则表达式
  • Python自动登录126邮箱的方法
  • 浅谈python新手中常见的疑惑及解答
  • 用Python编写web API的教程
  • Python中正则表达式的详细教程
  • python图像处理之镜像实现方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 探索Python3.4中新引入的asyncio模块
    • 九步学会Python装饰器
    • python通过zlib实现压缩与解压字符串的方法
    • python dict remove数组删除(del,pop)
    • python中 ? : 三元表达式的使用介绍
    • python从入门到精通(DAY 2)
    • python 捕获shell脚本的输出结果实例
    • Python下线程之间的共享和释放示例
    • 一个小示例告诉你Python语言的优雅之处
    • Django中对数据查询结果进行排序的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有