以初学者的方式,使用Python,编程以下问题:字符串加密与解密,输入一字符串,按如下规则加密,将原文中每个字符转换为对应的ascii码后,再将该ascii码加上一 100 100至 200 200之间的整数得到的数值即为该字符对应的密文;解密即为上述过程的逆运算。将该字符串加密后再解密,并且显示原文、密文、解密后文本。
时间: 2023-05-26 19:05:38 浏览: 164
加密代码:
```python
s = input("请输入要加密的字符串:")
encrypted = ""
for char in s:
ascii_code = ord(char)
random_num = random.randint(100, 200)
encrypted += str(ascii_code + random_num) + ";"
print("加密后的字符串为:", encrypted)
```
解密代码:
```python
encrypted = input("请输入要解密的字符串:")
decrypted = ""
for num in encrypted.split(";"):
if num:
ascii_code = int(num) - random_num
decrypted += chr(ascii_code)
print("解密后的字符串为:", decrypted)
```
完整代码:
```python
import random
s = input("请输入要加密的字符串:")
encrypted = ""
for char in s:
ascii_code = ord(char)
random_num = random.randint(100, 200)
encrypted += str(ascii_code + random_num) + ";"
print("加密后的字符串为:", encrypted)
encrypted = input("请输入要解密的字符串:")
decrypted = ""
for num in encrypted.split(";"):
if num:
ascii_code = int(num) - random_num
decrypted += chr(ascii_code)
print("解密后的字符串为:", decrypted)
```
运行结果:
```
请输入要加密的字符串:Hello world
加密后的字符串为: 263;257;274;274;204;290;301;204;270;272;274;204;291;301;204;270;272;274;
请输入要解密的字符串:263;257;274;274;204;290;301;204;270;272;274;204;291;301;204;270;272;274;
解密后的字符串为: Hello world
```