python 异或
时间: 2023-10-29 20:54:03 浏览: 46
在Python中,异或运算使用符号^来表示。异或运算具有以下几个特点:
1. a ^ a = 0,任何数字和自己异或的结果是0;
2. a ^ 0 = a,任何数字和0异或的结果还是它自己;
3. a ^ b = b ^ a,异或运算具有交换律;
4. a ^ (b ^ c) = (a ^ c) ^ b,异或运算具有结合律。
异或运算常用于数据加密和解密中。我们可以利用异或运算来加密一个字符串。具体的步骤如下:
1. 将字符串转换为ASCII码,可以使用ord()函数将字符转换为对应的ASCII码。
2. 选择一个密钥,也是一个ASCII码。
3. 将字符串中的每个字符和密钥进行异或运算,得到加密后的ASCII码。
4. 将加密后的ASCII码再转换为对应的字符,可以使用chr()函数将ASCII码转换为字符。
5. 得到加密后的字符串。
下面是一个Python异或加密字符串的示例代码:
```python
def xor_encrypt(string, key):
encrypted = ''
for char in string:
encrypted += chr(ord(char) ^ key)
return encrypted
# 测试
plain_text = 'Hello World!'
encryption_key = 65 # ASCII码对应的密钥是'A'
encrypted_text = xor_encrypt(plain_text, encryption_key)
print('加密后的字符串:', encrypted_text)
```
运行以上代码,输出的结果就是加密后的字符串。这样,我们就成功使用异或运算对字符串进行了加密。