Python随机生成8位密码的示例详解

 更新时间:2023年02月14日 14:57:56   作者:吃肉的小馒头  
这篇文章主要为大家详细介绍了基于Python实现随机生成8位密码的相关方法,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下

代码示例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()

到此这篇关于Python随机生成8位密码的示例详解的文章就介绍到这了,更多相关Python随机生成密码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pandas如何解决excel科学计数法问题

    pandas如何解决excel科学计数法问题

    这篇文章主要介绍了pandas如何解决excel科学计数法问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • python实现桌面壁纸切换功能

    python实现桌面壁纸切换功能

    这篇文章主要为大家详细介绍了python requests+pywin32实现桌面壁纸切换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • 基于pytorch实现对图片进行数据增强

    基于pytorch实现对图片进行数据增强

    图像数据增强是一种在训练机器学习和深度学习模型时常用的策略,尤其是在计算机视觉领域,具体而言,它通过创建和原始图像稍有不同的新图像来扩大训练集,本文给大家介绍了如何基于pytorch实现对图片进行数据增强,需要的朋友可以参考下
    2024-01-01
  • 利用Python解决Excel问题的最佳方案总结

    利用Python解决Excel问题的最佳方案总结

    python处理excel文件有很多方法,最开始接触的是xlrd、xlsxwriter模块,分别用于excel文件的读、写,后来又学习了openpyxl模块,可以同时完成excel文件的读、写,下面这篇文章主要给大家介绍了关于利用Python解决Excel问题的最佳方案,需要的朋友可以参考下
    2023-04-04
  • 灵活运用Python 枚举类来实现设计状态码信息

    灵活运用Python 枚举类来实现设计状态码信息

    在python中枚举是一种类(Enum,IntEnum),存放在enum模块中。枚举类型可以给一组标签赋予一组特定的值,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • python 字符串split的用法分享

    python 字符串split的用法分享

    python 字符串的split方法是用的频率还是比较多的。比如我们需要存储一个很长的数据,并且按照有结构的方法存储,方便以后取数据进行处理。当然可以用json的形式。但是也可以把数据存储到一个字段里面,然后有某种标示符来分割
    2013-03-03
  • python处理cookie详解

    python处理cookie详解

    Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理,本文介绍了使用python处理cookie的方法,需要的朋友可以参考下
    2014-02-02
  • Python os模块介绍

    Python os模块介绍

    这篇文章主要介绍了Python os模块介绍,需要的朋友可以参考下
    2014-11-11
  • 使用Jest 在 Visual Studio Code 中进行单元测试的流程分析

    使用Jest 在 Visual Studio Code 中进行单元测试的流程分析

    Jest是一个流行的JavaScript测试框架,它提供了简洁、灵活和强大的工具来编写和运行单元测试,今天通过本文给大家介绍使用Jest在Visual Studio Code中进行单元测试的流程分析,感兴趣的朋友跟随小编一起看看吧
    2023-07-07
  • 简单了解Django模板的使用

    简单了解Django模板的使用

    这篇文章主要介绍了简单了解Django模板的使用,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论