Python实现DES加密算法
时间: 2024-04-22 19:21:11 浏览: 18
Python可以使用pycryptodome库来实现DES加密算法。下面是一个单的示例代码:
```python
from Crypto.Cipher import DES
def des_encrypt(key, plai):
cipher = DES.new(key, DES.MODE_ECB)
padded_plaintext = plaintext + (8 - len(plaintext) % 8) * ' '
ciphertext = cipher.encrypt(padded_plaintext.encode())
return ciphertext.hex()
def des_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'
plaintext = 'Hello, DES!'
ciphertext = des_encrypt(key, plaintext)
decrypted_text = des_decrypt(key, ciphertext)
print('Plaintext:', plaintext)
print('Ciphertext:', ciphertext)
print('Decrypted text:', decrypted_text)
```
上述代码中,`des_encrypt`函数用于对明文进行加密,`des_decrypt`函数用于对密文进行解密。其中,`key`参数是8字节的密钥,`plaintext`参数是待加密的明文。加密后的密文以十六进制字符串的形式返回。
请注意,DES算法已经被认为是不安全的,不推荐在实际应用中使用。更安全的替代算法是AES(高级加密标准)。