美文网首页
实验吧 trivial

实验吧 trivial

作者: HOtMI1k | 来源:发表于2019-01-15 20:40 被阅读0次

    自己是真的菜。

    网上的解题代码很多了,这里就不说了,主要是解析一下。

    PS:trivial在数学里是一眼就可以看出来的意思,也就“显然” orz

    先是认真的分析了一下,但觉得好复杂哦md,看了答案一回味,这原来是凯撒密码。

    enc_char = ord('a') + (ord(plaintext[i])-ord('a')+rotate_amount)%26

    就是凯撒移位密码,rotate就是移动的位数。

    所以这个加密是,给定key和plaintext后,根据key和plaintext生成一个移动的位数rotate

    rotate的值和plaintext有关,也就是plaintext中的每一位都要进行移位,而每一位需要移位的数rotate都是不一样的

    所以解密就是把密文减去rotate就行了,而移位数rotate和  key的值,plaintext的index有关,因为移位加密并不改变数据长度,所以cipher的index和plaint的index是相等的,也就是密文直接移位减去rotate就是明文了

    相关文章

      网友评论

          本文标题:实验吧 trivial

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