Python des 加密解密实现实例
时间: 2024-12-17 16:45:43 浏览: 4
在Python中,DES(Data Encryption Standard)是一种对称加密算法,用于数据的加密和解密。然而,Python标准库并不直接支持DES加密,因为DES已被更安全的算法如AES所取代。你可以使用一些第三方库,比如`pyDes`来实现DES操作。
以下是一个简单的使用`pyDes`库进行DES加解密的例子:
```python
from pyDes import Des, CBC
# 密钥,长度通常为8字节(64位)
key = b'mysecretpassword'
# 初始化DES对象,CBC模式需要一个初始化向量(IV),这里我们随机生成一个
iv = os.urandom(Des.block_size)
des_cipher = Des(key, mode=CBC, IV=iv)
# 加密函数,输入明文和其长度
def encrypt(text):
ciphertext = des_cipher.encrypt(text.encode('utf-8'))
return iv + ciphertext
# 解密函数,输入密文及其长度
def decrypt(ciphertext):
# 获取IV
iv = ciphertext[:Des.block_size]
# 提取剩余部分
encrypted_data = ciphertext[Des.block_size:]
decrypted_text = des_cipher.decrypt(encrypted_data).decode('utf-8')
return decrypted_text
# 示例:
plaintext = "Hello, DES!"
ciphertext = encrypt(plaintext)
print("Encrypted:", ciphertext)
decrypted_text = decrypt(ciphertext)
print("Decrypted:", decrypted_text)
阅读全文