python换位加密算法_移位XOR的加密算法还原(python 实现)
时间: 2023-10-19 08:33:56 浏览: 25
移位XOR加密算法是一种简单的加密算法,它将明文中的每个字符与一个密钥进行异或操作,从而产生密文。而解密过程则是将密文中的每个字符再次与密钥进行异或操作,从而还原出明文。
下面是一个简单的Python实现:
```python
def encrypt(message, key):
# 将密钥转换为ASCII码数组
key_array = [ord(c) for c in key]
# 对明文中的每个字符进行加密
encrypted = [ord(message[i]) ^ key_array[i % len(key_array)] for i in range(len(message))]
# 将加密后的ASCII码数组转换为字符串
return ''.join([chr(c) for c in encrypted])
def decrypt(ciphertext, key):
# 将密钥转换为ASCII码数组
key_array = [ord(c) for c in key]
# 对密文中的每个字符进行解密
decrypted = [chr(ord(ciphertext[i]) ^ key_array[i % len(key_array)]) for i in range(len(ciphertext))]
# 将解密后的字符数组转换为字符串
return ''.join(decrypted)
```
使用示例:
```python
message = "hello world"
key = "secret"
# 加密
ciphertext = encrypt(message, key)
print("加密后的密文:", ciphertext)
# 解密
decrypted = decrypt(ciphertext, key)
print("解密后的明文:", decrypted)
```
输出结果:
```
加密后的密文: \x06\x0f\t\x1c\x05U\x05\x06\x0f^
解密后的明文: hello world
```
需要注意的是,这种简单的移位XOR加密算法并不安全,容易被破解。在实际应用中应该使用更加复杂的加密算法来保护数据的安全。