Python实现的简单密码管理器
发布时间:2023-12-04 19:50:25
下面是一个简单的Python实现的密码管理器,它可以存储和管理密码,以及生成随机密码。使用例子说明程序的使用方法。
import random
import string
class PasswordManager:
def __init__(self):
self.passwords = {}
def add_password(self, name, password):
self.passwords[name] = password
def remove_password(self, name):
if name in self.passwords:
del self.passwords[name]
else:
print("Password for {} does not exist.".format(name))
def get_password(self, name):
if name in self.passwords:
return self.passwords[name]
else:
print("Password for {} does not exist.".format(name))
return None
def generate_password(self, length=12):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for _ in range(length))
return password
# 使用例子
password_manager = PasswordManager()
password_manager.add_password("gmail", "password123")
password_manager.add_password("facebook", "test456")
password_manager.add_password("twitter", "hello789")
print(password_manager.get_password("gmail")) # 打印出 "password123"
print(password_manager.get_password("yahoo")) # 打印出 "Password for yahoo does not exist."
password_manager.remove_password("facebook")
print(password_manager.get_password("facebook")) # 打印出 "Password for facebook does not exist."
generated_password = password_manager.generate_password()
print(generated_password) # 打印出一个随机生成的密码
这个密码管理器使用一个字典来存储密码,其中键是密码的名称,值是密码本身。add_password方法用于添加密码到密码管理器,remove_password方法用于从密码管理器中删除密码,get_password方法用于获取指定名称的密码。如果密码不存在,它会打印一条错误消息。
generate_password方法用于生成一个指定长度的随机密码。它使用string.ascii_letters,string.digits和string.punctuation来生成密码的字符集。
在使用例子中,我们首先创建一个密码管理器对象password_manager。然后,我们使用add_password方法向密码管理器中添加一些密码。接下来,我们使用get_password方法来获取不同密码。如果密码存在,它将被打印出来;如果密码不存在,它将打印一条错误消息。然后,我们使用remove_password方法来删除一个密码,并再次尝试获取该密码,以验证它是否已被正确删除。最后,我们使用generate_password方法来生成一个随机的密码,并将其打印出来。
