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