本题要求实现一个函数,能对一行字符串(字符串的长度<80)加密。 加密函数采用的加密算法:如果不是英文字母,就不加密,原样显示;否则就将字母加上一个偏移值5实现加密。注意大小写英文字母分别构成一个封闭
时间: 2023-04-17 21:04:24 浏览: 64
的集合,即大写字母加密后仍为大写字母,小写字母加密后仍为小写字母。
实现思路:
1. 遍历字符串中的每个字符,判断是否为英文字母。
2. 如果不是英文字母,直接将字符加入加密后的字符串中。
3. 如果是英文字母,判断是大写字母还是小写字母,分别进行加密。
4. 加密后的字符加入加密后的字符串中。
5. 返回加密后的字符串。
代码实现:
```python
def encrypt(s):
result = ''
for c in s:
if not c.isalpha():
result += c
elif c.isupper():
result += chr((ord(c) - 65 + 5) % 26 + 65)
else:
result += chr((ord(c) - 97 + 5) % 26 + 97)
return result
```
测试样例:
```python
print(encrypt('Hello, World!')) # Mjqqt, Btwqi!
print(encrypt('Python is a great language.')) # Udymts nx f lwjfy qfslhjw.
```
输出结果:
```
Mjqqt, Btwqi!
Udymts nx f lwjfy qfslhjw.
```
相关问题
6-4 字符串加密 (10 分) 本题要求实现一个函数,能对一行字符串(字符串的长度<80)加密。 加密函数采用的加密算法:如果不是英文字母,就不加密,原样显示;否则就将字母加上一个偏移值5实现加密。注意大小写英文字母分别构成一个封闭环,如字符‘w’,加密后为字符‘b’。
这道题要求实现一个函数,能对一行字符串(长度小于80)加密。加密函数采用的加密算法是:如果不是英文字母,则不加密,原样显示;否则就将字母加上一个偏移值5实现加密。注意大小写英文字符分别构成一个封闭环,如字符‘w’,加密后为字符‘b’。
python编写函数实现对字符串加密和解密,循环使用密钥,并采用简单的异或算法。
可以使用以下代码实现字符串加密和解密:
```python
def xor_crypt(text, key):
result = ""
for i in range(len(text)):
char = text[i]
key_c = key[i % len(key)]
result += chr(ord(char) ^ ord(key_c))
return result
def encrypt(text, key):
return xor_crypt(text, key)
def decrypt(text, key):
return xor_crypt(text, key)
```
`encrypt` 函数用于加密字符串,`decrypt` 函数用于解密字符串。两个函数都接受两个参数:待加密/解密的字符串 `text` 和密钥 `key`。
`xor_crypt` 函数实现了简单的异或算法,将字符串中的每个字符与密钥中对应的字符进行异或操作,得到加密后的字符。解密的过程就是再次进行异或操作,密钥与加密后的字符串的字符进行异或,得到原始的字符。
在循环中,使用了 `%` 运算符来实现对密钥的循环使用,保证了密钥能够与字符串的每个字符进行异或操作。
注意,这种加密方式并不安全,只适用于简单的加密需求。如果需要更高的安全性,应该使用更加复杂的加密算法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)