用python实现DES算法
时间: 2023-11-25 15:51:22 浏览: 86
DES算法实现python(含图形化界面)
5星 · 资源好评率100%
以下是使用Python中的pyDes库实现DES算法的示例代码:
```python
from pyDes import des, CBC, PAD_PKCS5
import binascii
# 加密函数
def des_encrypt(key, plain_text):
iv = key # 初始向量(必须是8字节)
k = des(key, CBC, iv, pad=None, padmode=PAD_PKCS5) # 创建DES实例
encrypt_text = k.encrypt(plain_text) # 加密
return binascii.b2a_hex(encrypt_text) # 返回十六进制字符串
# 解密函数
def des_decrypt(key, encrypt_text):
iv = key # 初始向量(必须是8字节)
k = des(key, CBC, iv, pad=None, padmode=PAD_PKCS5) # 创建DES实例
plain_text = k.decrypt(binascii.a2b_hex(encrypt_text)) # 解密
return plain_text.decode('utf-8') # 返回明文字符串
# 测试
if __name__ == '__main__':
key = b'abcdefgh' # 秘钥(必须是8字节)
plain_text = 'hello world' # 明文
encrypt_text = des_encrypt(key, plain_text) # 加密
print('加密后的密文:', encrypt_text)
decrypt_text = des_decrypt(key, encrypt_text) # 解密
print('解密后的明文:', decrypt_text)
```
阅读全文