当前位置:主页 > python教程 > Python随机生成密码

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

发布:2023-04-10 11:10:01 59


我们帮大家精选了相关的编程文章,网友糜信鸿根据主题投稿了本篇教程内容,涉及到Python随机生成密码、Python生成密码、Python密码、Python随机生成密码相关内容,已被644网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

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 = '!@#$%^&*()>

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


相关文章

  • python生成密码字典的实例代码方法

    发布:2019-07-30

    今天小编就为大家分享一篇python生成密码字典的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


网友讨论