密碼學程式設計_換位加密法的解密
阿新 • • 發佈:2018-11-07
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強制型別轉換