python实现des算法
时间: 2023-09-30 11:12:13 浏览: 24
DES算法是一种对称加密算法,其加密和解密使用相同的密钥。下面是Python实现DES算法的示例代码:
```python
from Crypto.Cipher import DES
# 加密函数
def encrypt(key, message):
cipher = DES.new(key, DES.MODE_ECB)
padded_message = message + (8 - len(message) % 8) * chr(8 - len(message) % 8)
encrypted_message = cipher.encrypt(padded_message.encode())
return encrypted_message
# 解密函数
def decrypt(key, encrypted_message):
cipher = DES.new(key, DES.MODE_ECB)
decrypted_message = cipher.decrypt(encrypted_message).decode()
return decrypted_message[:-ord(decrypted_message[-1])]
# 测试
key = b'my_secret_key'
message = 'Hello, world!'
encrypted_message = encrypt(key, message)
decrypted_message = decrypt(key, encrypted_message)
print("加密后的密文为:", encrypted_message)
print("解密后的明文为:", decrypted_message)
```
在上面的代码中,我们使用`Crypto.Cipher`模块中的`DES`类来创建加密和解密对象。`key`参数是用于加密和解密的密钥,`message`参数是要加密的消息。在加密时,我们使用`DES.MODE_ECB`模式来指定加密模式,然后使用`cipher.encrypt()`方法来加密消息。在解密时,我们使用相同的密钥和模式来创建解密对象,然后使用`cipher.decrypt()`方法来解密消息。需要注意的是,在解密后,我们需要删除填充的字节,以获得原始的明文消息。