磊之茶 发表于 2020-4-24 20:09:06

怎么这个解密总是错误呢

我想做个类似与凯撒密码的加密文字,可解密老是不正确,请问谁能帮我看看是什么问题
def jva(mb):
        z=[]
        for i in mb:
                z.append(i)
        return tuple(z)
pian_yi_shu=3
lb=jva('qaswedfrtghyujkiolpzx cvbnmQASWEDFRTGHYUJKIOLPZXCVBNM2153647098!@#$%^&*()_+-=—{}【】[]|?;:<>,.。,?/‘’“”;:')
lb=lb[:]+("'",)
def jia_mi(mb):#加密
    a=''
    for i in mb:
      if i in lb:
            pian_yi=pian_yi_shu+lb.index(i)
            if pian_yi >= len(lb):
                pian_yi-=len(lb)
            a=a[:]+lb
      else:
            a=a[:]+i
    return a
def jie_mi(mb):#问题出在这个解密
    a=''
    for i in mb:
      if i in lb:
            a=a[:]+lb
      else:
            a=a[:]+i
    return a

我看了半天都没看出毛病来

txxcat 发表于 2020-4-24 20:40:40

>>> jia_mi('ihateclass')
'pjeyrnxedd'
>>> jie_mi('pjeyrnxedd')
'ihateclass'
看上去没啥问题呀。

磊之茶 发表于 2020-4-24 21:57:16

本帖最后由 磊之茶 于 2020-8-19 12:01 编辑

有问题,如果加密'qaswedfrtghyujkiolpzx cvbnmQASWEDFRTGHYUJKIOLPZXCVBNM2153647098!@#$%^&*()_+-=—{}【】[]|?;:<>,.。,?/‘’“”;:'后解密的结果不是'qaswedfrtghyujkiolpzx cvbnmQASWEDFRTGHYUJKIOLPZXCVBNM2153647098!@#$%^&*()_+-=—{}【】[]|?;:<>,.。,?/‘’“”;:'

磊之茶 发表于 2020-4-24 22:11:10

好吧,好像如果我换台电脑就没毛病了
页: [1]
查看完整版本: 怎么这个解密总是错误呢