某天在和朋友聊天的时候,突然提起了秘密表白这个事,我就想利用python来写一个程序,可以实现对简单语言的加密解密.就当练习练习啦.
源代码:
print("1.输入1选择加密/"
"2.输入2选择解密/"
"3.输入其他任意数字退出程序"
)
while True:
number = eval(input("请输入你的选择:"))
if number == 1:
enc = input("请输入你想输入的加密语言:")
key = input("请输入加密密钥(请输入数字):")
print("加密后的密文为:")
for i in enc:
dec = ord(key)^ord(i)
print(chr(dec),end = 't')
print('n')
elif number == 2 :
doc = input("请输入你想输入的解密语言:")
key = input("请输入解密密钥:")
print("解密后的明文为:")
for i in doc:
doc = ord(key)^ord(i)
print(chr(doc),end = 't')
print()
else:
print("您选择退出程序!")
break;
在这个程序中,核心就是ord()和chr()这两个字符转变函数,下面我来简单介绍一下ord()和chr()这两个函数吧.
ord()函数和chr()函数是一对与编码相关而功能相反的函数。
ord(c):返回单个字符的Unicode编码。
chr(u):返回Unicode编码对应的字符。如果所给的Unicode字符超出了python的定义范围,则会引发一个TypeError的异常。
两个字符串的比较一般遵循如下规则:
1.如果都是英文字符串,则按照字符串每个字符的ASCII编码逐个进行比较。
2.如果都是中文字符串,则按照汉字的Unicode编码逐个进行比较。
3.如果分别是汉文字符串和英文字符串,则按照他们的Unicode编码逐个进行比较,汉字字符串大于英文字符串。
运算结果:
如果要验证这个程序是否可以解密加密后的明文,那就要保证在加密过程中和解密过程中的密钥是同一个密钥.
从这个运行结果界面中我们可以看到,在这个程序中,可以进行英文,中文,中英结合的加密解密组合.有需要的小伙伴看看叭.



