python 编写一个函数encryption()用来给一个字符串密码进行加密,对应关系为:对于明文字符p,如果p不是大小写字母则照常输出,如果是大小写字母,则其对应的密文字符为c=(p+5)%26,例如a->f,b->g,x->c,y->d
时间: 2024-02-22 13:56:39 浏览: 34
好的,那我来为你编写这个函数。代码如下:
```python
def encryption(s):
res = ""
for c in s:
if not c.isalpha(): # 如果不是字母,则原样输出
res += c
else:
ascii_code = ord(c) # 将字符转换为 ASCII 码
if ascii_code >= 65 and ascii_code <= 90: # 大写字母
res += chr((ascii_code - 65 + 5) % 26 + 65) # 转换为密文字符并拼接到结果字符串中
elif ascii_code >= 97 and ascii_code <= 122: # 小写字母
res += chr((ascii_code - 97 + 5) % 26 + 97) # 转换为密文字符并拼接到结果字符串中
return res
```
这个函数接受一个字符串参数 `s`,并返回加密后的字符串。对于字符串中的每个字符,如果不是字母,则将其原样输出;如果是字母,则将其转换为密文字符并拼接到结果字符串中。具体的转换规则参考题目描述。
相关问题
python编写一个函数encryption()用来给一个字符串密码进行加密,对应关系为:对于明文字符p,如果p不是大小写字母则照常输出,如果是大小写字母,则其对应的密文字符为c=(p+5)%26
好的,以下是实现了您要求的加密函数encryption()的Python代码:
```python
def encryption(password):
encrypted_password = ""
for p in password:
if p.isalpha():
if p.islower():
c = chr((ord(p) - 97 + 5) % 26 + 97)
else:
c = chr((ord(p) - 65 + 5) % 26 + 65)
else:
c = p
encrypted_password += c
return encrypted_password
```
这个函数的逻辑很简单,就是依次遍历明文字符串中的每个字符,如果是字母,则根据加密规则计算出对应的密文字符,否则就直接输出原字符。最后将所有密文字符拼接成一个字符串并返回即可。
比如,如果您想要加密字符串"Hello, world!", 只需要这样调用函数:
```python
encrypted = encryption("Hello, world!")
print(encrypted)
```
输出结果就是:"Mjqqt, btwqi!"。
用python给我一份简单字符串加密解密函数
### 回答1:
答:您可以使用Python中的hashlib库来实现字符串加密和解密,比如,以下代码片段将使用SHA256加密字符串:import hashlibstring_text = "Hello World!"hash_object = hashlib.sha256(string_text.encode())hex_dig = hash_object.hexdigest()print(hex_dig)# 输出:872e4e50ce9990d8b041330c47c9ddd11bec6b503ae9386a99da8584e9bb12c4
### 回答2:
以下是用Python编写的一个简单的字符串加密解密函数:
```python
def encrypt(text):
encrypted_text = ""
for char in text:
encrypted_text += chr(ord(char)+1) # 将字符转换为ASCII码,加1后再转换回字符
return encrypted_text
def decrypt(encrypted_text):
decrypted_text = ""
for char in encrypted_text:
decrypted_text += chr(ord(char)-1) # 将字符转换为ASCII码,减1后再转换回字符
return decrypted_text
# 测试函数
original_text = "Hello World!"
encrypted_text = encrypt(original_text)
decrypted_text = decrypt(encrypted_text)
print("原始文本: ", original_text)
print("加密后的文本: ", encrypted_text)
print("解密后的文本: ", decrypted_text)
```
本例中,加密函数`encrypt`将输入的字符串每个字符的ASCII码加1,再转换回字符,形成加密后的文本。解密函数 `decrypt` 则是对加密后的文本进行反向操作,每个字符的ASCII码减1,再转换回字符,获得解密后的文本。使用这两个函数可以将字符串进行简单的加密和解密操作。
以上是一个简单的字符串加密解密函数,可以根据需求进一步优化和增强加密算法。
### 回答3:
以下是一个使用python编写的简单字符串加密和解密函数:
```python
def encrypt(text, key):
encrypted_text = ""
for char in text:
encrypted_char = chr(ord(char) + key)
encrypted_text += encrypted_char
return encrypted_text
def decrypt(encrypted_text, key):
decrypted_text = ""
for char in encrypted_text:
decrypted_char = chr(ord(char) - key)
decrypted_text += decrypted_char
return decrypted_text
plaintext = "Hello, World!"
encryption_key = 3
encrypted_text = encrypt(plaintext, encryption_key)
print("加密后的文本:", encrypted_text)
decrypted_text = decrypt(encrypted_text, encryption_key)
print("解密后的文本:", decrypted_text)
```
在上面的代码中,`encrypt`函数将给定的字符串加密,将每个字符的Unicode值加上一个密钥(在例子中为3),然后将得到的新字符连接起来形成加密后的文本。`decrypt`函数则对加密后的文本进行解密,将每个字符的Unicode值减去密钥,然后连接起来形成解密后的文本。
使用以上代码示例进行测试,原始文本为"Hello, World!",密钥为3,加密后的文本为"Khoor/#Zruog'",解密后的文本为"Hello, World!"。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)