请帮我写一段抑或加密解密的程序
时间: 2023-09-18 17:13:01 浏览: 208
以下是一个简单的抑或加密解密程序:
```python
def xor_encrypt_decrypt(data, key):
# 将字符串转换为二进制
data = data.encode()
key = key.encode()
# 逐个字符进行抑或运算
result = bytearray()
for i in range(len(data)):
result.append(data[i] ^ key[i % len(key)])
# 返回加密/解密后的结果
return result.decode()
# 测试代码
data = "Hello World!"
key = "secret"
encrypted = xor_encrypt_decrypt(data, key)
print("加密后的结果:", encrypted)
decrypted = xor_encrypt_decrypt(encrypted, key)
print("解密后的结果:", decrypted)
```
程序中定义了一个 `xor_encrypt_decrypt()` 函数,该函数接受两个参数:要加密/解密的数据 `data` 和密钥 `key`。程序将输入的字符串转换为二进制数据,然后对每个字符进行抑或运算,最终返回加密/解密后的结果。
在测试代码中,我们将字符串 `"Hello World!"` 和密钥 `"secret"` 传递给 `xor_encrypt_decrypt()` 函数进行加密。加密后的结果为 `'\x1a\x1b\x05\x06\x14\x1c\x0e\x1b\x11\x02\x00'`。我们再次将加密后的结果传递给 `xor_encrypt_decrypt()` 函数进行解密,得到原始字符串 `"Hello World!"`。
阅读全文