python3.9实现对称加密算法代码
时间: 2024-09-18 16:11:50 浏览: 29
在Python 3.9中,我们可以使用内置的`cryptography`库来实现对称加密,如AES(高级加密标准)。这是一个例子,展示了如何使用Fernet模块创建一个简单的AES加密解密过程:
```python
from cryptography.fernet import Fernet
import base64
# 生成随机秘钥
key = Fernet.generate_key()
cipher_suite = Fernet(key)
# 加密数据
data_to_encrypt = "这是需要加密的数据"
encrypted_data = cipher_suite.encrypt(data_to_encrypt.encode('utf-8'))
print("Encrypted data:", encrypted_data.decode('utf-8'))
# 解密数据
decrypted_data = cipher_suite.decrypt(encrypted_data)
print("Decrypted data:", decrypted_data.decode('utf-8'))
# 使用base64编码便于存储和传输
encoded_key = base64.urlsafe_b64encode(key).decode('utf-8')
encoded_encrypted_data = base64.urlsafe_b64encode(encrypted_data).decode('utf-8')
#
相关问题
Python实现DES对称加密算法
为了实现DES对称加密算法,可以使用Python的pyDes库。以下是一个简单的示例代码:
```python
from pyDes import *
# 设置密钥
key = b'abcdefgh'
# 设置初始向量
iv = b'abcdefgh'
# 创建DES对象
des = des(key, CBC, iv, pad=None, padmode=PAD_PKCS5)
# 加密数据
data = b'Hello World'
encrypted_data = des.encrypt(data)
# 解密数据
decrypted_data = des.decrypt(encrypted_data)
# 输出结果
print("加密后的数据:", encrypted_data)
print("解密后的数据:", decrypted_data)
```
在这个示例中,我们首先设置了密钥和初始向量,然后创建了一个DES对象。接下来,我们使用encrypt()方法加密数据,并使用decrypt()方法解密数据。最后,我们输出了加密和解密后的数据。
python实现对称加密算法
通过Python中的密码学模块,我们可以轻松地使用常见的对称加密算法对数据进行加密和解密操作。下面是一种使用AES算法进行加密和解密的示例代码:
```python
from cryptography.fernet import Fernet
# 生成密钥
key = Fernet.generate_key()
cipher_suite = Fernet(key)
# 加密数据
data = b"Hello, world!"
cipher_text = cipher_suite.encrypt(data)
# 解密数据
plain_text = cipher_suite.decrypt(cipher_text)
print("加密后的数据:", cipher_text)
print("解密后的数据:", plain_text)
```