python换位加密算法_移位XOR的加密算法还原(python 实现)
时间: 2023-06-29 09:08:53 浏览: 99
python实现换位加密算法的示例
移位XOR加密算法也称作凯撒密码,是一种最古老的加密算法之一。它是一种简单的替换加密算法,通过将明文中的每个字符移位并执行异或操作来生成密文。在这个算法中,密钥是一个整数(通常是一个小的正整数),它指定了将每个字符移动多少个位置。密钥相同,加密结果也相同。
下面是一个使用Python实现的移位XOR加密算法:
```python
def encrypt(message, key):
cipher = ""
for ch in message:
# 移位
ch = chr(ord(ch) + key)
# 异或操作
ch = chr(ord(ch) ^ key)
cipher += ch
return cipher
def decrypt(cipher, key):
message = ""
for ch in cipher:
# 异或操作
ch = chr(ord(ch) ^ key)
# 移位
ch = chr(ord(ch) - key)
message += ch
return message
```
在这个实现中,`encrypt`函数接受两个参数:明文和密钥。它遍历明文中的每个字符,并将其移位并执行异或操作,然后将结果添加到密文中。`decrypt`函数也接受两个参数:密文和密钥。它遍历密文中的每个字符,执行异或操作,并将结果移回原来的位置,然后将结果添加到明文中。
下面是一个使用示例:
```python
# 加密示例
message = "hello world"
key = 7
cipher = encrypt(message, key)
print(cipher) # 输出: Û
# 解密示例
cipher = "Û"
key = 7
message = decrypt(cipher, key)
print(message) # 输出: hello world
```
注意,在这个实现中,加密和解密使用的是相同的函数,它们只是参数不同。这是因为移位XOR加密算法是一种对称加密算法,加密和解密使用相同的密钥。
阅读全文