DES算法python代码
时间: 2023-10-03 16:08:32 浏览: 111
python之des加密算法
5星 · 资源好评率100%
以下是使用Python实现DES算法的代码:
```python
from Crypto.Cipher import DES
import binascii
def des_encrypt(key, plaintext):
des = DES.new(key, DES.MODE_ECB)
plaintext += b"\0" * (8 - len(plaintext) % 8)
ciphertext = des.encrypt(plaintext)
return binascii.hexlify(ciphertext)
def des_decrypt(key, ciphertext):
des = DES.new(key, DES.MODE_ECB)
plaintext = des.decrypt(binascii.unhexlify(ciphertext))
return plaintext.rstrip(b"\0")
# Example usage:
key = b"mysecret"
plaintext = b"Hello, world!"
ciphertext = des_encrypt(key, plaintext)
decrypted_plaintext = des_decrypt(key, ciphertext)
print("Ciphertext:", ciphertext)
print("Decrypted plaintext:", decrypted_plaintext)
```
需要注意的是,这里使用了Python的`Crypto`库来实现DES算法,如果没有安装这个库,可以使用`pip install pycrypto`来安装。此外,这个代码使用了ECB模式,需要注意ECB模式的安全性问题。如果需要更高级别的加密模式,可以使用其他模式,比如CBC、CFB等。
阅读全文