用python移位加密和解密
时间: 2024-11-12 16:45:53 浏览: 6
Python中的移位加密(也称为位移加密或异或(XOR)加密)是一种简单但基础的加密技术,它通过按特定位数移动数据的二进制位来进行操作。以下是简单的移位加密和解密步骤:
**移位加密(右移或左移)**:
1. **选择偏移量**: 一个整数,用于指定每个比特向右或向左移动的位数。
2. **加密函数**: 对于每个字节,将原始字节逐位与偏移量进行异或操作。
```python
def shift_encrypt(byte, shift):
return byte ^ (byte << shift)
```
3. **处理整个字符串**: 循环遍历字符串,对每个字节应用上述函数。
**解密过程**:
1. **使用相同的偏移量**: 因为异或操作是可逆的,所以只需再次对加密后的字节应用相同的偏移量。
```python
def shift_decrypt(encrypted_byte, shift):
return encrypted_byte ^ (encrypted_byte >> shift)
```
**示例**:
```python
def encrypt(text, shift):
encrypted_text = ""
for char in text.encode():
encrypted_text += chr(shift_encrypt(char, shift))
return encrypted_text
def decrypt(encrypted_text, shift):
return encrypted_text.decode().translate(str.maketrans(chr(shift), ' ' * len(chr(shift))))
text = "Hello, World!"
shift = 3
encrypted = encrypt(text, shift)
decrypted = decrypt(encrypted, shift)
print(f"Encrypted: {encrypted}")
print(f"Decrypted: {decrypted}")
```
阅读全文