对称加密算法和非对称加密算法是现代加密技术的两种基本形式,它们在加解密过程、速度、用途等方面有本质的区别。
### 对称加密算法
1. **定义**:对称加密算法使用相同的密钥进行加密和解密。也就是说,密钥的长度等于加密密钥的长度。
2. **速度**:通常对称加密算法速度较快,因为加解密过程使用的是同一个密钥。
3. **用途**:适合加密大量数据,如SSL握手后的数据传输加密。
4. **示例**:AES(高级加密标准)、DES(数据加密标准)、3DES(三重数据加密算法)。
#### 示例代码(Python中的AES加密)
```python
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
from Crypto.Random import get_random_bytes
# 密钥长度应为32字节
key = get_random_bytes(32)
cipher = AES.new(key, AES.MODE_CBC)
plaintext = "这是一个需要加密的文本"
padded_text = pad(plaintext.encode(), AES.block_size)
enc