DESpython实现
时间: 2023-12-04 20:06:51 浏览: 74
DES算法实现python(含图形化界面)
5星 · 资源好评率100%
DES是一种对称加密算法,它的实现需要使用Python中的加密模块。以下是一个简单的DES加密和解密的Python代码示例:
```python
from Crypto.Cipher import DES
def pad(text):
while len(text) % 8 != 0:
text += b' '
return text
def encrypt(key, plaintext):
cipher = DES.new(key, DES.MODE_ECB)
padded_plaintext = pad(plaintext)
ciphertext = cipher.encrypt(padded_plaintext)
return ciphertext
def decrypt(key, ciphertext):
cipher = DES.new(key, DES.MODE_ECB)
plaintext = cipher.decrypt(ciphertext)
return plaintext.strip()
if __name__ == '__main__':
key = b'secret_k'
plaintext = b'This is a test message'
ciphertext = encrypt(key, plaintext)
decrypted_plaintext = decrypt(key, ciphertext)
print('Plaintext:', plaintext)
print('Ciphertext:', ciphertext)
print('Decrypted plaintext:', decrypted_plaintext)
```
在上面的代码中,我们使用了Python中的`Crypto`模块来实现DES加密和解密。`pad`函数用于填充输入文本,以便其长度为8的倍数。`encrypt`函数使用给定的密钥和填充后的明文计算密文,并返回加密后的结果。`decrypt`函数使用给定的密钥和密文计算明文,并返回解密后的结果。在主函数中,我们使用密钥和明文来计算出密文,然后使用相同的密钥和密文来计算出解密后的明文。
阅读全文