from cryptography.fernet import Fernet
import sqlite3

# Veritabanı oluşturma
def create_db():
    conn = sqlite3.connect('password_manager.db')  # Veritabanı dosyası
    c = conn.cursor()
    c.execute('''
    CREATE TABLE IF NOT EXISTS users (
    username TEXT PRIMARY KEY,
    password TEXT NOT NULL
    )
    ''')
    conn.commit()
    conn.close()

# Şifreleme anahtarı oluşturma
def generate_key():
    key = Fernet.generate_key()
    with open("secret.key", "wb") as key_file:
        key_file.write(key)

# Anahtarı yükleme
def load_key():
    return open("secret.key", "rb").read()

# Şifreleme
def encrypt_password(password):
    key = load_key()
    f = Fernet(key)
    encrypted_password = f.encrypt(password.encode())
    return encrypted_password

# Şifreleri veritabanına ekleme
def add_user(username, password):
    conn = sqlite3.connect('password_manager.db')
    c = conn.cursor()
    c.execute("INSERT INTO users (username, password) VALUES (?, ?)", (username, password))
    conn.commit()
    conn.close()

# Giriş kontrolü
def login(username, password):
    conn = sqlite3.connect('password_manager.db')
    c = conn.cursor()
    c.execute("SELECT password FROM users WHERE username=?", (username,))
    row = c.fetchone()
    conn.close()
    if row is None:
        return False
    else:
        encrypted_password = row[0]
        key = load_key()
        f = Fernet(key)
        try:
            decrypted_password = f.decrypt(encrypted_password).decode()
            return decrypted_password == password
        except Exception:
            return False

# Uygulama akışı
def main():
    create_db()
    try:
        load_key()
    except FileNotFoundError:
        generate_key()  # Anahtarı bir kez oluştur

    while True:
        choice = input("1. Kaydol\n2. Giriş\n3. Çık\nSeçiminiz: ")
        if choice == "1":
            username = input("Kullanıcı adı: ")
            password = input("Şifre: ")
            encrypted_password = encrypt_password(password)
            add_user(username, encrypted_password)
            print("Kayıt başarılı!")
        elif choice == "2":
            username = input("Kullanıcı adı: ")
            password = input("Şifre: ")
            if login(username, password):
                print("Giriş başarılı!")
            else:
                print("Giriş başarısız!")
        elif choice == "3":
            break
        else:
            print("Geçersiz seçim!")

if __name__ == "__main__":
    main()

Bir kaç düzeltme yaptı mtekrar iyi akşamlar.çalışmaz ise
pip install cryptography sqlite3
yazmanız gerekbilir saygılar