python.字符串加密与解密,输入一字符串,按如下规则加密,将原文中每个字符转换为对应的ascii码后,再将该ascii码加上一100至200之间的整数得到的数值即为该字符对应的密文;解密即为上述过程的逆运算。将该字符串加密后再解密,并且显示原文、密文、解密后文本。
时间: 2024-05-05 21:16:20 浏览: 13
加密代码:
```python
import random
def encrypt(text):
encrypted = ''
for char in text:
ascii_value = ord(char)
random_num = random.randint(100, 200)
encrypted_value = ascii_value + random_num
encrypted += str(encrypted_value) + ' '
return encrypted
text = input('请输入要加密的字符串:')
encrypted_text = encrypt(text)
print('加密后的字符串为:', encrypted_text)
```
解密代码:
```python
def decrypt(encrypted_text):
decrypted = ''
encrypted_list = encrypted_text.split()
for value in encrypted_list:
ascii_value = int(value) - random_num
decrypted += chr(ascii_value)
return decrypted
random_num = random.randint(100, 200)
decrypted_text = decrypt(encrypted_text)
print('解密后的字符串为:', decrypted_text)
```
完整代码:
```python
import random
def encrypt(text):
encrypted = ''
for char in text:
ascii_value = ord(char)
random_num = random.randint(100, 200)
encrypted_value = ascii_value + random_num
encrypted += str(encrypted_value) + ' '
return encrypted
def decrypt(encrypted_text):
decrypted = ''
encrypted_list = encrypted_text.split()
for value in encrypted_list:
ascii_value = int(value) - random_num
decrypted += chr(ascii_value)
return decrypted
text = input('请输入要加密的字符串:')
encrypted_text = encrypt(text)
print('加密后的字符串为:', encrypted_text)
random_num = random.randint(100, 200)
decrypted_text = decrypt(encrypted_text)
print('解密后的字符串为:', decrypted_text)
```
示例输出:
```
请输入要加密的字符串:Hello World!
加密后的字符串为: 189 208 216 216 209 195 225 208 214 191 221 208 217
解密后的字符串为: Hello World!
```