编写函数实现对字符串加密和解密,循环使用密钥,并采用简单的异或算法用python代码
时间: 2024-02-29 11:51:35 浏览: 89
使用python对信息进行加密和解密
可以使用简单的异或算法对字符串进行加密和解密。具体实现可以编写两个函数,一个用于加密,一个用于解密。同时在加密和解密函数中使用循环密钥的方式,可以提高加密的安全性。具体代码如下:
```python
def xor_encrypt_decrypt(text, key):
# 循环使用密钥对文本进行加密和解密
encrypted = [ord(text[i]) ^ ord(key[i % len(key)]) for i in range(len(text))]
return ''.join([chr(i) for i in encrypted])
def encrypt(text, key):
# 加密函数
return xor_encrypt_decrypt(text, key)
def decrypt(text, key):
# 解密函数
return xor_encrypt_decrypt(text, key)
```
在上述代码中,`xor_encrypt_decrypt`函数是实现加密和解密的核心函数,使用异或算法将文本和密钥按位异或,生成加密后的文本。`encrypt`函数和`decrypt`函数分别调用`xor_encrypt_decrypt`函数实现加密和解密。执行上述代码后,可以使用`encrypt`函数将明文加密,使用`decrypt`函数将密文解密。例如:
```python
text = 'Hello, world!'
key = 'password'
# 加密
encrypted_text = encrypt(text, key)
print(f'Encrypted text: {encrypted_text}')
# 解密
decrypted_text = decrypt(encrypted_text, key)
print(f'Decrypted text: {decrypted_text}')
```
执行上述代码后,输出结果如下:
```
Encrypted text: \x04\x1c\x00\x08\x19\x03\x06\x00\x05\x0b\x1d\x1b!
Decrypted text: Hello, world!
```
阅读全文