Python随机生成8位密码的示例详解
作者:吃肉的小馒头 发布时间:2023-09-15 21:04:03
标签:Python,随机,生成,密码
代码示例1(8位)
import random
import string
total = string.ascii_letters + string.digits + string.punctuation
length = 8
password = "".join(random.sample(total, length))
print(password)
代码示例2(任意)
import random
import math
alpha = "abcdefghijklmnopqrstuvwxyz"
num = "0123456789"
special = "@#$%&*"
# 输入密码长度
pass_len = int(input("输入密码长度"))
# 设置密码长度组成格式,字母数字和特殊符号占比,以下示例50-30-20比例分配
alpha_len = pass_len//2
num_len = math.ceil(pass_len*30/100)
special_len = pass_len-(alpha_len+num_len)
password = []
def generate_pass(length, array, is_alpha=False):
for i in range(length):
index = random.randint(0, len(array) - 1)
character = array[index]
if is_alpha:
case = random.randint(0, 1)
if case == 1:
character = character.upper()
password.append(character)
# 字符
generate_pass(alpha_len, alpha, True)
# 数字
generate_pass(num_len, num)
# 特殊符号
generate_pass(special_len, special)
# 打乱顺序
random.shuffle(password)
# 转列表到字符串
gen_password = ""
for i in password:
gen_password = gen_password + str(i)
print(gen_password)
知识补充
除了上面的两个示例代码,小编还为大家整理了一些Python实现生成随机密码的方法,希望对大家有所帮助
python实现生成随机 字母 + 数字密码
#coding:utf-8
import random,string
def GetPassword(length):
# 随机生成数字个数
Ofnum=random.randint(1,length)
Ofletter=length-Ofnum
# 选中ofnum个数字
slcNum=[random.choice(string.digits) for i in range(Ofnum)]
# 选中ofletter个字母
slcLetter=[random.choice(string.ascii_letters) for i in range(Ofletter)]
# 打乱组合
slcChar=slcLetter+slcNum
random.shuffle(slcChar)
# 生成随机密码
getPwd=''.join([i for i in slcChar])
return getPwd
if __name__=='__main__':
print( GetPassword(6)) #GetPassword()自定义随机密码长度
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()
来源:https://blog.csdn.net/qq_42034590/article/details/128994108
0
投稿
猜你喜欢
- 我们知道,在js中,当object作为参数传递到函数中进行处理后,实际上是修改了传入的对象本身(或者说是对象的引用),但很多时候我们并不希望
- 1983年1月19日,苹果公司发布乔布斯领导研制的新一代电脑Lisa,当时Lisa电脑的设计人员就认为,必须将立即执行的命令和需要用户附加输
- 如何在一个广告旗帜里轮番显示时间长度不一的不同广告?好了,下面就是Ad Rotator组件完整的应用例子:adrot.asp<html
- 声明,本文中所称CSS雪碧即为CSS Sprites,这个词组一直没有一个固定或者约定俗成的中文翻译,一些人开始称之为CSS雪碧,我们且当作
- 奥运来了,三大门户网站都加上了奥运主题。加上下面代码你的网站也拥有奥运主题了:<style type="text/
- 本文实例讲述了Python实现求最大公约数及判断素数的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env pytho
- 备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword
- mssql的每个varchar、text字段都被自动插入一段js代码,即使删除这段代码,如果没有从源头上解决,几分钟后,js代码就又会自动插
- 当点了链接后,跳出的网页地址是https://www.aspxhome.com/ 或https://www.cidianwang.
- Python工程师面试必备25条Python知识点:1.到底什么是Python?你可以在回答中与其他技术进行对比下面是一些关键点:Pytho
- IE 浏览器中 CSS Expression 特性的最大的问题:会反复执行,每秒钟可能执行了成百上千次,有严重的性能问题。如何对 CSS E
- Beautiful Soup使用时,一般可以通过指定对应的name和attrs去搜索,特定的名字和属性,以找到所需要的部分的html代码。但
- python代码换行就是每行后面加个 \举个栗子:time = "2017"print "one"
- 每位SQL Server开发员都有自己的首选操作方法。我的方法叫做分子查询。这些是由原子查询组合起来的查询,通过它们我可以处理一个表格。将原
- 很早就在这里看到过解决方案,与嗷嗷讨论后发现这个方案还是很可靠的。当然,唯一的缺点就是每一个属性都要去Hack,但我在很多实践中,只用‘修正
- php中session_id()函数原型及说明session_id()函数说明:stringsession_id([string$id])s
- 因些朋友发来邮件讲根据文章修改后无效,懒羊再次检查后发现在工具栏中并无添加,所以还得做一下下面步骤,再此给大家造成的不便还请多多谅解!因FC
- pygal的安装大家可以参阅:pip和pygal的安装实例教程线图:import pygalline_chart = pygal.Line(
- Python time模块时间获取和转换Time模块介绍Python的Time库可以进行时间相关的处理,如访问当前日期和时间,输出不同格式的
- 本文实例讲述了Python实现读取Properties配置文件的方法。分享给大家供大家参考,具体如下:JAVA本身提供了对于Properti