为什么我的加密python程序不起作用?

2024-10-06 12:12:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个程序来加密和解密消息。以下是回溯: 回溯(最近一次呼叫最后一次): 文件“C:\Users\notelling\OneDrive\Desktop\pyprojects\crypto.py”,第15行,在 f=Fernet(键) NameError:未定义名称“key”

这是我的密码:

from cryptography.fernet import Fernet
import os
if os.path.isfile("encryption.key"):
    file = open("encryption.key", "rb")
    filec = file.read().decode()
else:
    key = Fernet.generate_key()
    file = open('encryption.key', 'wb')
    file.write(key.encode()) # The key is type bytes still
    file.close()
    print("Key generated.")
mode = input("Please enter mode (e/d):")
if mode == 'e':
    message = input("What is your message to encrypt?").encode()
    f = Fernet(key)
    encrypted = f.encrypt(message)
    passkey = open("encryptedmsg.txt", "wb")
    passkey.write(encrypted)
    passkey.close()
elif mode == 'd':
    passread = open("encryptedmsg.txt", "rb")
    contents = passread.read()
    f = Fernet(key)
    decrypted = f.decrypt(encrypted).decode()
    print("Decrypted message is ", decrypted)
input()

Tags: keyimportmessageinputifisosmode