我有这段代码:
[由于不必要的剽窃而被删除]
这是第二次世界大战期间使用的Enigma机器的简化版本。此代码的解密部分不能正常工作并返回HFFDGRHC而不是HELLOBOY。有谁知道如何解决这个问题?
作业:模仿一个Enigma密码:ENIGMA机器的扭曲是实际上有26个不同的旋转密码,并且根据前一个字母的输出为每个字母选择了一个新的密码。提示:添加上一个字母和上一个密码密钥的总和以进行加密。使用此信息,计算如何解密而不是加密。
答案 0 :(得分:1)
线索在这里:
添加上一个字母和上一个密钥的总和以进行加密。
您没有将以前的密钥添加到新密钥中。
将关键滚动线更改为:
key = (key + newLetter) % 26;
现在输出"HELLOBOY"