python解密_Python解密
我目前正在從事一項家庭作業,我們必須構建一個函數,在其中編寫一個三步加密/解密程序.我們必須構建的密碼之一是變位/軌道圍欄,該圍欄接受變量(n)作為要加密消息的“軌道”數.我已經建立了加密,但是我m失去了解密方法.
這是針對python的入門級類,因此我們對下面的加密代碼等基礎知識了解不多.
如果您不確定我所說的換位加密/圍欄是什么意思,這是一個示例…
Message = abcdefg
n = 3
最后將其加密為3個組(如n所示),這些組將為“ adg be cf”,然后從那里將它們重組為一個字符串“ adgbecf”.我的麻煩是將它們重新分解為“ adg be cf”的原始三個字符串,然后將其轉換回原始值.
加密:
def trans_encrypt(message, n):
cipher = ""
for i in range(n):
for j in range(i, len(message), n):
cipher = cipher + message[j]
return cipher
當前解密(無效):
def trans_decrypt(cipher, n):
length = len(cipher) // n
message = ''
for i in range(length):
for j in range(n):
letter = (i + j * length)
message = message + cipher[letter]
return message
解決方法:
如果您的加密方法正確((有人評論說這不是密碼),則滿足以下條件:
您可以像這樣進行加密:
>>> def trans_encrypt(message,n):
... return "".join([message[i::n] for i in range(n)])
...
>>> trans_encrypt(a,3)
'adgbecf'
我會給您一個有關解密的提示:
>>> b = 'adgbe cf '
>>> trans_encrypt(b,3)
'abcdefg '
我在“已加密”字符串中插入了空格,并僅對“已加密”字符串使用了加密方法對其進行解密.我得到了正確的結果,最后還有一些額外的預期空格.
由于這是家庭作業,我將讓您弄清楚如何計算在哪里添加空格.
您的解密方法只能修改消息(插入空格),調用您的加密方法并刪除尾隨空白.
標簽:encryption,python
總結
以上是生活随笔為你收集整理的python解密_Python解密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌套查询和连接查询的效率_Elastic
- 下一篇: alpine linux图形界面_跟光磊