优化上面的代码,改为输入明文
时间: 2023-08-11 08:09:32 浏览: 49
抱歉,我之前的回答有误。为了避免误导,我重新回答:
如果您想优化上面的代码,可以考虑以下几点:
1. 减少重复代码:可以将加密和解密操作封装成函数,避免代码重复。
2. 使用更高效的加密算法:如果您需要更高的安全性,可以考虑使用更高效的加密算法,如AES或RSA。
3. 使用更安全的密钥管理方式:可以考虑使用密钥管理工具,如HashiCorp Vault,来更安全地管理密钥。
4. 对输入进行校验:可以对输入进行校验,以确保输入的正确性和安全性。
5. 提高代码可读性:可以使用更好的变量名和注释,使代码更易于理解和维护。
下面是一个改进的示例代码:
```
import base64
from cryptography.fernet import Fernet
def generate_key():
"""
Generates a new encryption key.
"""
return Fernet.generate_key()
def encrypt_message(message, key):
"""
Encrypts a message using the provided key.
"""
f = Fernet(key)
encrypted_message = f.encrypt(message.encode())
return base64.urlsafe_b64encode(encrypted_message).decode()
def decrypt_message(encrypted_message, key):
"""
Decrypts an encrypted message using the provided key.
"""
f = Fernet(key)
decrypted_message = f.decrypt(base64.urlsafe_b64decode(encrypted_message)).decode()
return decrypted_message
if __name__ == '__main__':
# Generate a new key
key = generate_key()
# Encrypt a message
message = input("Please enter your message: ")
encrypted_message = encrypt_message(message, key)
print("Encrypted message:", encrypted_message)
# Decrypt the message
encrypted_message = input("Please enter the encrypted message: ")
decrypted_message = decrypt_message(encrypted_message, key)
print("Decrypted message:", decrypted_message)
```