日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python隨機(jī)生成8位密碼的示例詳解_python

作者:吃肉的小饅頭 ? 更新時間: 2023-05-08 編程語言

代碼示例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("輸入密碼長度"))


# 設(shè)置密碼長度組成格式,字母數(shù)字和特殊符號占比,以下示例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)
# 數(shù)字
generate_pass(num_len, num)
# 特殊符號
generate_pass(special_len, special)
# 打亂順序
random.shuffle(password)
# 轉(zhuǎn)列表到字符串
gen_password = ""
for i in password:
    gen_password = gen_password + str(i)
print(gen_password)

知識補(bǔ)充

除了上面的兩個示例代碼,小編還為大家整理了一些Python實現(xiàn)生成隨機(jī)密碼的方法,希望對大家有所幫助

python實現(xiàn)生成隨機(jī) 字母 + 數(shù)字密碼

#coding:utf-8
import random,string
def GetPassword(length):
  # 隨機(jī)生成數(shù)字個數(shù)
  Ofnum=random.randint(1,length)
  Ofletter=length-Ofnum
  # 選中ofnum個數(shù)字
  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)
  # 生成隨機(jī)密碼
  getPwd=''.join([i for i in slcChar])
  return getPwd
if __name__=='__main__':
  print( GetPassword(6)) #GetPassword()自定義隨機(jī)密碼長度

Python隨機(jī)生成帶特殊字符的密碼

#!/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

欄目分類
最近更新