timmy bu gisti düzenledi 10 months ago. Düzenlemeye git
Değişiklik yok
timmy bu gisti düzenledi 10 months ago. Düzenlemeye git
Değişiklik yok
timmy bu gisti düzenledi 10 months ago. Düzenlemeye git
1 file changed, 38 insertions
secure_password_generator.py(dosya oluşturuldu)
| @@ -0,0 +1,38 @@ | |||
| 1 | + | import random | |
| 2 | + | import string | |
| 3 | + | ||
| 4 | + | ||
| 5 | + | class PasswordGenerator: | |
| 6 | + | def __init__(self, type, length=12): | |
| 7 | + | ||
| 8 | + | self.length = length | |
| 9 | + | self.type = type | |
| 10 | + | ||
| 11 | + | def generate_password(self): | |
| 12 | + | if self.type == "easy": | |
| 13 | + | # 存儲大小寫英文字母和數字,避免使用可能有歧義的字符 | |
| 14 | + | characters = ( | |
| 15 | + | string.ascii_uppercase.replace("O", "") | |
| 16 | + | + string.ascii_lowercase.replace("l", "") | |
| 17 | + | + string.digits.replace("0", "").replace("1", "") | |
| 18 | + | ) | |
| 19 | + | # 隨機選擇 self.length 個字符 | |
| 20 | + | password = "".join(random.choice(characters) for i in range(self.length)) | |
| 21 | + | elif self.type == "hard": | |
| 22 | + | # 存儲大小寫英文字母和罕見的字元 | |
| 23 | + | characters = string.ascii_letters + string.punctuation | |
| 24 | + | # 隨機選擇 self.length 個字符 | |
| 25 | + | password = "".join(random.choice(characters) for i in range(self.length)) | |
| 26 | + | return password | |
| 27 | + | ||
| 28 | + | ||
| 29 | + | # 建立一個長度為 12 的密碼產生器物件,用來產生 "Easy to read" 的密碼 | |
| 30 | + | generator = PasswordGenerator("easy") | |
| 31 | + | ||
| 32 | + | # 建立一個長度為 10 的密碼產生器物件,用來產生 "Easy to read" 的密碼 | |
| 33 | + | # generator = PasswordGenerator("easy", 10) | |
| 34 | + | ||
| 35 | + | ||
| 36 | + | # 產生 10 個隨機密碼 | |
| 37 | + | for i in range(10): | |
| 38 | + | print(generator.generate_password()) | |
Daha yeni
Daha eski