0
点赞
收藏
分享

微信扫一扫

Python开发实例(23)密码管理器:创建一个密码管理器应用,可以存储和管理用户的密码

创建一个密码管理器应用是一项有挑战性的任务,因为它涉及到安全性和数据的加密存储。在这里,我将提供一个基本的密码管理器的框架,你可以根据需要扩展和改进它。

首先,我们将使用Python内置的sqlite3库来创建一个SQLite数据库,用于存储用户的账户和密码。

import sqlite3

# 创建数据库连接
conn = sqlite3.connect('password_manager.db')
c = conn.cursor()

# 创建表格用于存储账户和密码
c.execute('''
    CREATE TABLE IF NOT EXISTS passwords (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        website TEXT NOT NULL,
        username TEXT NOT NULL,
        password TEXT NOT NULL
    )
''')

conn.commit()

接下来,我们可以定义一些函数来处理密码管理器的不同功能:

def add_password(website, username, password):
    c.execute('INSERT INTO passwords (website, username, password) VALUES (?, ?, ?)', (website, username, password))
    conn.commit()
    print(f"密码已成功添加到 {website}。")

def view_passwords():
    c.execute('SELECT * FROM passwords')
    passwords = c.fetchall()
    for password in passwords:
        print(f"Website: {password[1]}, Username: {password[2]}, Password: {password[3]}")

def find_password(website):
    c.execute('SELECT * FROM passwords WHERE website = ?', (website,))
    password = c.fetchone()
    if password:
        print(f"Website: {password[1]}, Username: {password[2]}, Password: {password[3]}")
    else:
        print(f"找不到 {website} 的密码。")

def main():
    while True:
        print("\n1. 添加密码")
        print("2. 查看所有密码")
        print("3. 查找密码")
        print("4. 退出")
        choice = input("请选择操作(输入数字):")

        if choice == '1':
            website = input("请输入网站名称:")
            username = input("请输入用户名:")
            password = input("请输入密码:")
            add_password(website, username, password)

        elif choice == '2':
            view_passwords()

        elif choice == '3':
            website = input("请输入要查找密码的网站名称:")
            find_password(website)

        elif choice == '4':
            print("谢谢使用,再见!")
            break

if __name__ == "__main__":
    main()

# 关闭数据库连接
conn.close()

在这个简单的密码管理器中,你可以添加、查看和查找密码。请注意,这只是一个基本的示例,没有包括加密存储密码和其他安全性功能。在实际应用中,你需要更多的安全性措施来保护用户的密码,比如加密存储、主密码、双因素认证等。

这个示例可以作为密码管理器的起点,你可以根据需要扩展它,以满足更高级的要求。希望这个示例有助于你了解如何创建一个密码管理器应用。

举报

相关推荐

0 条评论