'''
根据一定规则加密一段话,
同时根据规则能解密出来。
'''
# 输入信息
message = input('please input your message>>>')
data = ''
# 循环加密
for i in message:
# 65-90 A-Z 97-122 a-z
# ABCDEFGHIJ KLMNOPQRST UVWXYZ
# 十个为一组进行加密,后6个字母和其他内容单独加密+002582
m = ord(i)
if 64 < m < 75 or 96 < m < 107:
value = m + 10
elif 74 < m < 85 or 106 < m < 117:
value = m - 10
elif 84< m < 97 or 116 < m:
value = m + 2582
else:
value = m
data += str(value) + '|'
print('加密输出:',data)
# 创建解码存储器
result = ''
# 将字符串以‘|’进行分割,返回一个列表
data_list = data.split('|')
# 将列表的空值去掉
data_list.remove('')
# 循环解密
for k in data_list:
# 65-90 A-Z 97-122 a-z
# ABCDEFGHIJ KLMNOPQRST UVWXYZ
# 十个为一组进行解密,后6个字母和其他内容单独解密-002582
j = int(k)
if 64 < j < 75 or 96 < j < 107:
value = chr(j + 10)
elif 74 < j < 85 or 106 < j < 117:
value = chr(j - 10)
elif 2666< j < 2679 or 2698 < j:
value = chr(j - 2582)
else:
value = chr(j)
result += str(value)
print('解密输出:',result)
# 运行结果
please input your message>>>我爱北京天安门,天安门前太阳升。I Love Beijing Tiananmen!
加密输出: 27687|31815|23853|22722|25407|26015|40958|67874|25407|26015|40958|23651|25408|41033|23901|14872|83|32|66|101|2700|111|32|76|111|115|116|115|100|113|32|74|115|107|100|107|100|99|111|100|67863|
解密输出: 我爱北京天安门,天安门前太阳升。I Love Beijing Tiananmen!