python学习之字符串----简单的维吉尼亚密码

该代码核心思想为采用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))
效果如下:
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值