python3 DES加密解密
时间: 2024-03-23 10:34:02 浏览: 169
des3的加密解密
3星 · 编辑精心推荐
Python3中可以使用`pycryptodome`库来进行DES加密和解密操作。下面是一个简单的示例代码:
```python
from Crypto.Cipher import DES
# 加密函数
def encrypt(key, plaintext):
cipher = DES.new(key, DES.MODE_ECB)
padded_plaintext = plaintext + (8 - len(plaintext) % 8) * ' '
ciphertext = cipher.encrypt(padded_plaintext.encode())
return ciphertext.hex()
# 解密函数
def decrypt(key, ciphertext):
cipher = DES.new(key, DES.MODE_ECB)
decrypted_text = cipher.decrypt(bytes.fromhex(ciphertext)).decode().rstrip()
return decrypted_text
# 测试
key = b'abcdefgh' # 密钥,长度必须为8字节
plaintext = 'Hello, World!'
ciphertext = encrypt(key, plaintext)
decrypted_text = decrypt(key, ciphertext)
print('加密后的结果:', ciphertext)
print('解密后的结果:', decrypted_text)
```
上述代码中,`encrypt`函数用于加密明文,`decrypt`函数用于解密密文。需要注意的是,DES算法的密钥长度必须为8字节(64位),所以在示例中使用了一个长度为8字节的密钥`abcdefgh`。
阅读全文