不是很完美,有些问题,先记录下来,欢迎拍砖。

  
def encode(s,key,n): # key表示密钥,n表示加密的次数,n要大于0  
    tmp=s  
    for i in range(n):  
        for j in range(len(key)):  
            k=(ord(key[j])-ord('a'))%len(tmp)  
            tmp=tmp[:k]+key[j]+tmp[k:]  
        tmp= base64.encodestring(tmp)  
    return tmp  
def decode(s,key,n=10):  
    tmp=s  
    key=key[::-1]  
    for i in range(n):  
        tmp= base64.decodestring(tmp)  
        for j in range(len(key)):  
             k=(ord(key[j])-ord('a'))%(len(tmp)-1)  
             tmp=tmp[:k]+tmp[k+1:]  
    return tmp  

结果示例:CrijvajVxNbdytDcvLPHx/jcvLPHx/jVxNbdyqbUurTvwO277rav1tDQxArK1SC79SDIy6O6zszU\nwr6yICDTyrHgo7ozNjMwMDC15yAgICC7sKO6MTUwMDYwMDQwODkKcXF3JnhpYW9idWRpYW44ODY=\n