python 对称加密
时间: 2023-10-28 21:02:21 浏览: 34
Python中有许多库可以用于对称加密,最常用的是 `cryptography` 库。以下是一个使用 AES 对称加密算法进行加密和解密的示例代码:
```python
from cryptography.fernet import Fernet
def generate_key():
key = Fernet.generate_key()
with open('key.key', 'wb') as key_file:
key_file.write(key)
def load_key():
return open('key.key', 'rb').read()
def encrypt_message(message):
key = load_key()
cipher_suite = Fernet(key)
encrypted_message = cipher_suite.encrypt(message.encode())
return encrypted_message
def decrypt_message(encrypted_message):
key = load_key()
cipher_suite = Fernet(key)
decrypted_message = cipher_suite.decrypt(encrypted_message)
return decrypted_message.decode()
# 生成密钥
# generate_key()
# 加密消息
message = "Hello, World!"
encrypted_message = encrypt_message(message)
print(f"加密后的消息:{encrypted_message}")
# 解密消息
decrypted_message = decrypt_message(encrypted_message)
print(f"解密后的消息:{decrypted_message}")
```
请确保在运行代码之前先生成一个密钥(`generate_key()`),将它保存在 `key.key` 文件中。然后,您可以使用 `encrypt_message()` 和 `decrypt_message()` 函数加密和解密消息。
请注意,对称加密需要确保密钥的安全性,因为使用相同的密钥进行加密和解密。在实际应用中,您可能需要采取额外的措施来保护密钥的安全性。