我正在为CaesarCipher类的两个密钥开发一种解密方法。我有一个密钥的解密方法,但是当我使用两个密钥时,我迷失了要做的事情。如何修复两个密钥的解密方法?四个代表字母“ e”,使所有内容都与字母“ e”相关。 26代表字母表中字母的数量。 下面是我用于一个密钥的解密方法:
public String decrypt(String encrypted){
CaesarCipher23 cc = new CaesarCipher23();
int[] freqs = countLetters(encrypted);
int maxDex=indexOfMax(freqs);
int dkey=maxDex-4;
if(maxDex<4){
dkey=26-(4-maxDex);
}
return cc.encrypt(encrypted,26-dkey);
}
这是我为两种密钥解密方法所开始的:
public String decryptTwoKeys(String encrypted){
String firstHalf=halfOfString(encrypted,0);
String secondHalf=halfOfString(encrypted,1);
int key1=getKey(firstHalf);
int key2= getKey(secondHalf);
System.out.println("this is key1"+"\t"+ key1+"this is key2"+"\t"+key2);
CaesarCipher23 cc = new CaesarCipher23();
return cc.encrptyTwoKeys(encrypted,key1,key2);
}
我希望能收到有关如何改进代码的反馈。我是Java的初学者,我正在尝试找到解决此问题的更好方法。咨询会很棒。
答案 0 :(得分:0)
我要做的就是修复getKey方法。以下是我所做的更改:
with open('settings.json','r') as settings_file:
settings = json.load(settings_file)
btn2.state = settings['btn2_state']