密码学编程_换位加密法的解密

import math,pyperclip
def main():
    myMessage='Cenoonommstmme oo snnio. s s c'
    myKey=8
    plaintext=decryptMessage(myKey,myMessage)
    print(plaintext+'|')
    pyperclip.copy(plaintext)
def decryptMessage(key,message):
    numOfColumns=math.ceil(float(len(message))/float(key))
    numOfRows=key
    numOfShadedBoxes=(float(numOfColumns)*float(numOfRows))-float(len(message))
    plaintext=['']*int(numOfColumns)
    col=0
    row=0
    for symbol in message:
        plaintext[col]+=symbol
        col+=1
        if(col==numOfColumns) or (col==numOfColumns-1 and row >=numOfRows-numOfShadedBoxes):
            col=0
            row+=1
    return ''.join(plaintext)
if __name__=='__main__':
    main()
        

注意:使用的是python2,故使用float和int强制类型转换

猜你喜欢

转载自blog.csdn.net/qq_41938259/article/details/81806813