<p>我现在正在做一个家庭作业,我们必须建立一个函数,在这个函数中我们要做一个三步加密/解密程序。我们需要构建的密码之一是一个换位/轨道围栏,它将变量(n)作为您想要加密消息的“rails”的数量。我已经建立了加密,但我不知道解密方法。在</p>
<p>这是一个python的入门级类,因此除了下面包含的加密代码之类的基础知识外,我们不知道太多。在</p>
<p>如果你不确定我所说的“换位加密/围栏”是什么意思,这里有一个例子。。。在</p>
<pre><code>Message = abcdefg
n = 3
</code></pre>
<p>它最终被加密成3个组(如n所示),这些组将是<code>"adg be cf"</code>,然后加密将它们重新组合成一个字符串<code>"adgbecf"</code>。我的问题是将它们分解为<code>"adg be cf"</code>的最初三个字符串,然后将它们转换回原始值。在</p>
<p>加密:</p>
^{pr2}$
<p>当前解密(不起作用):</p>
<pre><code>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
</code></pre>