凯撒密码

作者: readilen | 来源:发表于2018-04-05 09:20 被阅读11次

顺序的代替表

class Caesar:
    def __init__(self, offset=3):
        l = list("abcdefghijklmnopqrstuvwxyz")
        u = list("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
        a = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
        offset %= 26
        b = l[offset:]+l[:offset] + u[offset:]+u[:offset]
        self.emap = dict(zip(a, b))
        self.dmap = dict(zip(b, a))
    def encode(self, text):
        tmp = [ (x in self.emap and self.emap[x] or x) for x in text]
        return ''.join(tmp)
    def decode(self, text):
        tmp = [ (x in self.dmap and self.dmap[x] or x) for x in text]
        return ''.join(tmp)
sr1 = "VprPGS{jnvg_bar_cyhf_1_vf_3?}"
ca8 = Caesar(8)
ca5 = Caesar(5)
sr1 = ca8.decode(sr1)
sr1 = ca5.decode(sr1)
print(sr1)

IceCTF{wait_one_plus_1_is_3?}

相关文章

  • Design & Coed 13:凯撒密码

    凯撒密码 Caesars Cipher 凯撒密码 (让上帝的归上帝,凯撒的归凯撒) 下面我们来介绍风靡全球的凯撒密...

  • Caesars Cipher(凯撒密码)

    凯撒密码 (让上帝的归上帝,凯撒的归凯撒) 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密...

  • 凯撒密码

    凯撒密码 (让上帝的归上帝,凯撒的归凯撒) 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密...

  • FCC-JS-BAS-Caesars Cipher-凯撒密码

    凯撒密码 (让上帝的归上帝,凯撒的归凯撒) 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密...

  • free code camp,凯撒密码,运用String.cha

    凯撒密码 (让上帝的归上帝,凯撒的归凯撒) 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密...

  • FreeCodeCamp筆記之:Caesars Cipher 凱

    題目: 凯撒密码(让上帝的归上帝,凯撒的归凯撒)下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移...

  • 图解密码技术学习-第二章 历史上的密码

    凯撒密码 原理 凯撒密码的实现方式就是对字母进行平移,加密向右平移的话,解密就向左平移 凯撒密码的算法就是平移,密...

  • FCC 题目 Caesars Cipher

    要求 让上帝的归上帝,凯撒的归凯撒。 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密码。 ...

  • 凯撤密码

    凯撤密码 题目描述 让上帝的归上帝,凯撒的归凯撒。下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫...

  • 密码学基础-------密码和认证

    历史上著名的密码 凯撒密码凯撒密码是一种相传尤里乌斯-凯撒使用的密码。是通过将明文中所使用的字母表按照一定的字数‘...

网友评论

    本文标题:凯撒密码

    本文链接:https://www.haomeiwen.com/subject/htilhftx.html