该代码核心思想为采用makeTrans函数随机生成映射表,经过多次映射,相当于一个多表置换密码。
写的是较为简单的一种是由英文转换生成密文来进行加密解密。
str1 = “abcdefghi,.;:jklmnop!qrstuvwxyz12 346578ABCDEFGHIJKLMNOPQRSTUVWXYZ”
str2 = “klmnopqr12s3t,A:5;B.X6DE8!FGH 7IJKL4MNOPQRSTUVWXYZuvwxyzabcdefghij”
str3 = “tuvwxy1za2AB3XD7EFG8,.;:HI5JK6!LMNO4PQRS TUVWXYZbcdefghijklmnopqrs”
str4 = “klmn1op3qr4ab5AB7XD,.;:EF8GHI6J KLM2NOPQRST!UVWXYZcdefghijstuvwxyz”
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,str3)
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))
效果如下:
python学习之字符串----简单的维吉尼亚密码
最新推荐文章于 2023-06-12 22:26:52 发布