ホームページ >バックエンド開発 >Python チュートリアル >Pythonでランダムなパスワードを生成するにはどうすればよいですか?

Pythonでランダムなパスワードを生成するにはどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-06-19 15:51:5322177ブラウズ

Pythonでランダムなパスワードを生成するにはどうすればよいですか?

Python はどのようにしてランダムなパスワードを生成するのでしょうか?

Python でランダムなパスワードを生成する方法:

1. ランダムなパスワードの生成。 26 個の大文字と小文字、および 9 個の数字のリストから 8 桁のパスワードをランダムに 10 個生成するプログラムを作成します。

    import random
    def random_password():
        list1 = []
        #把字母加入序列中
        for i in range(65,90):
            list1.append(chr(i))
        for i in range(97,122):
            list1.append(chr(i))
            
        list2 = [1,2,3,4,5,6,7,8,9]
        list = list1 +list2
        n = 0
        while n < 10:
            password = []
            n = n + 1
            m = 0
            password = password + random.sample(list, 8)
            #把列表转化为字符串
            password_middle = [str(i) for i in password]
            password_end = &#39;&#39;.join(password_middle)
            
            print("第{}个随机生成的密码是:{}".format(n,password_end))
        
random_password()
#random.sample(seq, k)实现从序列或集合seq中随机选取k个独立的的元素
#random.randint(a, b)   #A-Z:65-90;a-z:97-122;ASCII码48~57为0到9十个阿拉伯数字

2. Python はランダムなパスワードを生成します: ランダム ライブラリ

要件:

(1) ランダム ライブラリを使用し、ランダム シードとして 0x1010 を使用します。

(2) パスワードは 26 文字の大文字と小文字、10 文字の数字と! @#¥%……&*ほか8文字。

(3) 各パスワードの長さは 10 文字固定です。

(4) プログラムが実行されるたびに、パスワードごとに 1 行ずつ、20 個のパスワードが生成されます。

(5) 有効期間ごとに 20 個のパスワードが「ランダムパスワード.txt」ファイルに保存されます

import random
random.seed(0x1010)  #设置随机种子数
    #设置种子选择空间
s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*"
ls = [] #存取密码的列表
FirstPsw = "" #存取第一个密码的字符
 
while len(ls)<20:  #十个随机密码
    pwd = ""
    for i in range(10):
        pwd += s[random.randint(0,len(s)-1)]
    if pwd[0] in FirstPsw:
        continue
    else:
        ls.append(pwd)
        FirstPsw +=pwd[0]
fo = open("随机密码.txt","w",encoding ="utf-8")
fo.write("\n".join(ls))
fo.close()

3. Python は数字と大文字と小文字を含む 8 桁の文字列を生成します文字 (パスワード)

#-*-coding:utf_8-*-
import random,string    #调用random、string模块
src_digits = string.digits              #string_数字
src_uppercase = string.ascii_uppercase  #string_大写字母
src_lowercase = string.ascii_lowercase  #string_小写字母
count = int(input("请输入生成密码个数:"))
for i in range(count):
    #随机生成数字、大写字母、小写字母的组成个数(可根据实际需要进行更改)
    digits_num = random.randint(1,6)
    uppercase_num = random.randint(1,8-digits_num-1)
    lowercase_num = 8 - (digits_num + uppercase_num)
    #生成字符串
    password = random.sample(src_digits,digits_num) + random.sample(src_uppercase,uppercase_num) + random.sample(src_lowercase,lowercase_num)
    #打乱字符串
    random.shuffle(password)
    #列表转字符串
    new_password = &#39;&#39;.join(password)
    print(new_password)

推奨チュートリアル: "Python ビデオ チュートリアル "

以上がPythonでランダムなパスワードを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。