我正在爲多字母密碼編寫一個Java程序。我有這部分代碼:多字母密碼
while (i != 4 && count != cipherlen) {
if ((((int) ciphertext.charAt(i)) - 65) == 0) {
plaintext[count] = (char) (90 - (((int) keyreader.charAt(i)) - 65));
}
if ((((int) keyreader.charAt(i)) - 65) > (((int) ciphertext
.charAt(i)) - 65)) {
System.out.println("first");
plaintext[count] = ((char) (90 - ((((int) keyreader.charAt(i)) - (65)) - (((int) ciphertext
.charAt(i)) - 65))));
//System.out.println(text);
}
else {
//System.out.println("second");
plaintext[count] = ((char) ((((int) ciphertext.charAt(count)) - ((int) keyreader
.charAt(i))) + 64));
}
}
其正常工作了所有的情況下,當它遇到的值以外,假設密文是一個那麼我減去65,在這種情況下,它給一些虛擬的價值。
你能幫我確定問題是什麼嗎?
讓AAAD
是關鍵和NIFQFWBACP
是密文,則生成的明文是MHEMEVA=BO
請有人幫忙.. – user1495220 2013-02-18 03:12:25