密码学中的换位加密与测试程序详解
换位解密程序原理
在换位解密程序中,有几个关键的逻辑判断和操作。当计算得出 8 - 2 = 6 时,意味着遇到了一个阴影框。如果表达式为真,并且列数等于总列数减 1,Python 就判定遇到了阴影框,此时需要将列重置为 0 以进行下一次迭代。
下面这段代码体现了这个逻辑:
# If there are no more columns OR we're at a shaded box, go back
# to the first column and the next row:
if (column == numOfColumns) or (column == numOfColumns - 1 and
row >= numOfRows - numOfShadedBoxes):
column = 0
row += 1
这个条件判断可以拆分为两部分。 (column == numOfColumns) 用于检查列变量是否超出了索引范围; (column == numOfColumns - 1 and row >= numOfRows - numOfShadedBoxes) 则用于检查当前的列和行索引是否对应一个阴影框。只要这两个表达式中有一个为真,代码块就会将列重置为 0,并增加行变量的值。
当第 39 行的 for 循环遍历完消息中的每个字符后,如果使用了正确的密钥,明文列表中的字符串就会按解密顺序排列。最
超级会员免费看
订阅专栏 解锁全文
2082

被折叠的 条评论
为什么被折叠?



