1.Python学习之字符串实验
2.该代码采用维吉尼亚密码引入了“密钥”的概念,既根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。
#加密
# 维吉尼亚密码
str1 = "细数门前落叶,倾听窗外雨声,涉水而过的声音此次响起,你被雨淋湿的心,是否依旧。"
str2 = "你在雨中行走,你从不打伞,你有自己的天空,它从不下雨。"
str3 = "回首往事。日子中竟全是斑斓的光影,记忆的屏障中,曾经心动的声音已渐渐远去"
str4 = "爱是一种牵挂,无论步迹到哪里,心却系在那披肩秀发的发梢。"
table1 = str.maketrans(str1, str2)
table2 = str.maketrans(str2, str3)
table3 = str.maketrans(str3, str4)
table1_1 = str.maketrans(str2, str1)
table2_1 = str.maketrans(str3, str2)
table3_1 = str.maketrans(str4, str2)
text = input("请输入待加密数据")
CT1 = text.translate(table1)
CT2 = CT1.translate(table2)
CT = CT2.translate(table3)
print("密文是:%s" % CT)
CT = input("请输入待解密数据:")
print(CT.translate(table3_1).translate(table2_1).translate(table1_1))
3.效果如下:
请输入待加密数据:门前 窗外 雨声 淋湿
密文是:你在雨中行走:2
请输入待解密数据:你在雨中行走:2
门前 窗外 雨声 淋湿