Python 字符串加密解密:凯撒密码算法实战
使用 Python 实现简单的凯撒密码加密解密
本篇博客将介绍如何使用 Python 编写一个简单的字符串加密解密程序,该程序基于凯撒密码算法,通过对字符进行移位操作实现加密和解密。
代码示例:
s = input('请输入字符串:')
n = len(s)
str1 = ''
for i in range(n):
if s[i] in ('x', 'y', 'z'):
str1 += chr(ord(s[i]) - 23)
elif s[i] == ' ':
str1 += s[i]
else:
str1 += chr(ord(s[i]) + 3)
print('加密/解密后的字符串:', str1)
代码解释:
-
获取输入:
- 使用
input()函数获取用户输入的字符串,并将其存储在变量s中。
- 使用
-
计算字符串长度:
- 使用
len()函数获取字符串s的长度,并将其存储在变量n中。
- 使用
-
初始化结果字符串:
- 创建一个空字符串
str1,用于存储加密或解密后的结果。
- 创建一个空字符串
-
遍历字符串并进行加密/解密操作:
- 使用
for循环遍历字符串s中的每个字符。 - 对于每个字符
s[i],进行以下判断:- 如果字符是 'x'、'y' 或 'z',则将其转换为对应的 ASCII 码减去 23,再将结果转换为对应的字符,并将其添加到
str1中。 - 如果字符是空格,则直接将其添加到
str1中。 - 否则,将字符转换为对应的 ASCII 码加上 3,再将结果转换为对应的字符,并将其添加到
str1中。
- 如果字符是 'x'、'y' 或 'z',则将其转换为对应的 ASCII 码减去 23,再将结果转换为对应的字符,并将其添加到
- 使用
-
输出结果:
- 使用
print()函数输出加密或解密后的字符串str1。
- 使用
凯撒密码算法原理:
凯撒密码是一种简单的替换加密技术,它通过将字母表中的每个字母移动固定数量的位置来进行加密。例如,如果我们将字母表向右移动 3 位,则字母 'A' 将被替换为 'D','B' 将被替换为 'E',以此类推。
在本代码示例中,我们使用了类似的原理,将字符的 ASCII 码进行移位操作,从而实现加密和解密。需要注意的是,该代码仅对字母进行了移位操作,对其他字符(如数字、符号等)不进行处理。
原文地址: https://www.cveoy.top/t/topic/f3XQ 著作权归作者所有。请勿转载和采集!