用python字符串加密:大小写字母和数字字符向后错单位,循环后错,,其他字符不变
时间: 2024-03-02 16:50:40 浏览: 79
好的,以下是Python代码实现:
```
def encrypt(s):
result = ""
for c in s:
if c.isalpha():
if c.isupper():
result += chr((ord(c) - 65 + 3) % 26 + 65)
else:
result += chr((ord(c) - 97 + 3) % 26 + 97)
elif c.isdigit():
result += str((int(c) + 3) % 10)
else:
result += c
return result
# 测试加密函数
s = "aBc123"
print("原始字符串:", s)
s = encrypt(s)
print("加密后字符串:", s)
```
运行代码后,就可以看到加密后的字符串了。函数中,我们使用了 `isalpha()` 方法判断字符是否为字母,使用了 `isupper()` 方法判断字符是否为大写字母,使用了 `isdigit()` 方法判断字符是否为数字。对于字母和数字,我们使用了 ASCII 码表进行加密,对于其他字符则直接保留不变。
相关问题
字符串加密:大小写字母和数字字符向后错3位,循环后错(如z后接a)
好的,这是一个关于字符串加密的问题。针对这个问题,我们可以采用如下的加密算法:
1. 对于输入的字符串,遍历其中的每个字符。
2. 对于每个字符,判断其是否是大小写字母或数字字符。
3. 如果是大小写字母或数字字符,则将其向后错3位,如果错出了字符集的范围,则循环后错。
4. 将加密后的字符拼接成一个新的字符串。
下面是一个Python实现的例子:
```python
def encrypt_string(s):
result = ""
for c in s:
if c.isalpha():
if c.isupper():
c = chr((ord(c) - 65 + 3) % 26 + 65)
else:
c = chr((ord(c) - 97 + 3) % 26 + 97)
elif c.isdigit():
c = chr((ord(c) - 48 + 3) % 10 + 48)
result += c
return result
```
这个函数会返回一个加密后的字符串,您可以将其传递给其他人来进行解密。当然,为了保证加密的安全性,建议您采用更加复杂的加密算法。
字符串加密;大小写字母和数字字符向后错3位,循环后错(如z后接a),即,“abcz””
经过加密后为“defc”。您可以使用以下Python代码实现该加密过程:
```python
def encrypt(s):
res = ''
for c in s:
if c.isalpha():
if c.isupper():
res += chr((ord(c) - 65 + 3) % 26 + 65)
else:
res += chr((ord(c) - 97 + 3) % 26 + 97)
elif c.isdigit():
res += chr((ord(c) - 48 + 3) % 10 + 48)
else:
res += c
return res
```
其中,`ord(c)`用于获取字符的ASCII码值,`chr(num)`用于将ASCII码值转换为对应的字符。对于大小写字母的加密,我们可以分别处理大写字母和小写字母,并且使用取模运算实现循环的效果。对于数字字符的加密,同样使用取模运算实现循环的效果。最后,对于非字母数字字符,不进行加密,直接保留即可。
阅读全文