Python实现恺撒密码(8行代码)

在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。

直接上代码(精简版)

#字母对应数字
dic = {
    
    "a":0,"b":1,"c":2,"d":3,"e":4,"f":5,"g":6,"h":7,"i":8,"j":9,"k":10,"l":11,"m":12,"n":13,"o":14,"p":15,"q":16,"r":17,"s":18,"t":19,"u":20,"v":21,"w":22,"x":23,"y":24,"z":25}
#打印时使用该字符串
cha = "abcdefghijklmnopqrstuvwxyz"
list1 = list(input("\n请输入一串字母:"))
i = eval(input("请输入偏移量(0-26):"))
if i >=0 and i <=25:#偏移并直接输出
    print("偏移量%d:" % (i),end=" ")
    for j in list1:
        #python三目运算符(条件为真时的结果 if 判段的条件 else 条件为假时的结果)
        print(cha[dic.get(j)+i - 26 if (dic.get(j)+i > 25) else dic.get(j)+i],end="")

运行结果
恺撒密码的运行结果

猜你喜欢

转载自blog.csdn.net/weixin_44864260/article/details/109269098