python实现xor加密
时间: 2023-09-01 19:13:02 浏览: 170
下面是Python实现XOR加密的示例代码:
```python
def xor_encrypt(text, key):
# 转换为二进制字符串
text = ''.join(format(ord(c), '08b') for c in text)
key = ''.join(format(ord(c), '08b') for c in key)
# 对齐key的长度
key = key * (len(text) // len(key) + 1)
key = key[:len(text)]
# 进行异或运算
result = ''.join(str(int(text[i]) ^ int(key[i])) for i in range(len(text)))
# 转换为字符形式
result = ''.join(chr(int(result[i:i+8], 2)) for i in range(0, len(result), 8))
return result
# 示例
text = "Hello, World!"
key = "secret"
encrypted = xor_encrypt(text, key)
print(encrypted) # 输出:'\x0e\x00\x1c\x1c\x0b\r\x1c\x0b\x1a\x1c\x05\x0c\x1c'
```
解释:
1. 将明文和密钥转换为二进制字符串,每个字符使用8位二进制表示。
2. 对齐密钥的长度,使其与明文长度相同。
3. 对明文和密钥进行异或运算,得到结果。
4. 将结果转换为字符形式。
注意:该方法只适用于ASCII字符集。对于非ASCII字符集,需要使用其他编码方式。
阅读全文