Python字符串加密与解密,输入一字符串,按如下规则加密,将原文中每个字符转换为对应的ascii码后,再将该ascii码加上一100至200之间的整数得到的数值即为该字符对应的密文;解密即为上述过程的逆运算。将该字符串加密后再解密,并且显示原文、密文、解密后文本
时间: 2024-05-09 08:20:41 浏览: 16
加密代码如下:
```python
import random
def encrypt(text):
encrypted_text = ""
for char in text:
ascii_val = ord(char)
random_val = random.randint(100, 200)
encrypted_val = ascii_val + random_val
encrypted_text += str(encrypted_val) + " "
return encrypted_text.strip()
text = input("请输入要加密的字符串:")
encrypted_text = encrypt(text)
print("加密后的字符串:", encrypted_text)
```
解密代码如下:
```python
def decrypt(encrypted_text):
decrypted_text = ""
encrypted_list = encrypted_text.split()
for encrypted_val in encrypted_list:
ascii_val = int(encrypted_val) - random_val
char = chr(ascii_val)
decrypted_text += char
return decrypted_text
random_val = random.randint(100, 200)
decrypted_text = decrypt(encrypted_text)
print("解密后的字符串:", decrypted_text)
```
完整代码如下:
```python
import random
def encrypt(text):
encrypted_text = ""
for char in text:
ascii_val = ord(char)
random_val = random.randint(100, 200)
encrypted_val = ascii_val + random_val
encrypted_text += str(encrypted_val) + " "
return encrypted_text.strip()
def decrypt(encrypted_text):
decrypted_text = ""
encrypted_list = encrypted_text.split()
for encrypted_val in encrypted_list:
ascii_val = int(encrypted_val) - random_val
char = chr(ascii_val)
decrypted_text += char
return decrypted_text
text = input("请输入要加密的字符串:")
encrypted_text = encrypt(text)
print("加密后的字符串:", encrypted_text)
random_val = random.randint(100, 200)
decrypted_text = decrypt(encrypted_text)
print("解密后的字符串:", decrypted_text)
```
示例输入:
```
请输入要加密的字符串:Hello World!
```
示例输出:
```
加密后的字符串: 209 304 311 311 202 289 320 215 310 312 311 322
解密后的字符串: Hello World!
```