編寫兩個程序 - 一個用於Alice,另一個用於Bob。它們之間的數據交換是通過用作通信通道的文本文件來實現的。關於使用數字簽名在Java中編寫程序的問題
我不斷收到Netbeans中的一個錯誤:在線程
異常 「主」 了java.lang.RuntimeException:不可編譯的源代碼 - 錯誤的符號類型:Signature.encode
燦任何人都能幫助我指引正確的方向嗎?如果需要,我可以發佈錯誤消息;它顯示了愛麗絲的鑰匙和擴展的消息,但沒有提到鮑勃。 如果需要,我也可以發佈實驗室指導。
import java.math.BigInteger;
class Signature {
static class Keys {
BigInteger n = new BigInteger("9617");
BigInteger d = new BigInteger("3869");
BigInteger e = new BigInteger("17");
}
public static void main(String[] args) {
Keys keys = new Keys();
String message = "What's up Bob";
int blockSize = 4;
Signature obj = new Signature();
System.out.println("Alice's keys:");
System.out.println("e: " + keys.e);
System.out.println("d: " + keys.d);
System.out.println("n: " + keys.n);
while (message.length() % (blockSize/2) != 0) {
message += "-";
}
/
System.out.println(
"Alice's extended message:\n" +
message);
String encodedMsg = obj.encode(message);
String signature = obj.dosignature(
encodedMsg, keys.d, keys.n, blockSize);
System.out.println(
"Alice's digital signature\n" +
signature);
String signedMsg = message + "_" + signature;
System.out.println(
"Alice's signed message:\n" +
signedMsg);
String extractedMsgText =
signedMsg.substring(
0, signedMsg.indexOf('_'));
System.out.println(
"Bob's extracted message text:\n" +
extractedMsgText);
String extractedSignature =
signedMsg.substring(
signedMsg.indexOf('_') + 1);
System.out.println(
"Bob's extracted digital signature:\n" +
extractedSignature);
String decipheredSignature;
decipheredSignature = obj.doRSA(extractedSignature, keys.e, keys.n, blockSize);
String decodedSignature = obj.decode(
decipheredSignature);
System.out.println(
"Bob's decoded digital signature:\n" +
decodedSignature);
if (extractedMsgText.equals(decodedSignature)) {
System.out.println(
"Bob's conclusion: Valid signature");
} else {
System.out.println(
"Bob's conclusion: Invalid signature");
}
}
}
您正在嘗試運行甚至無法編譯的Java代碼。不要這樣做。閱讀你從編譯器得到的錯誤,修復它們,然後,只有這樣,才能執行代碼。另外,縮進你的代碼。您的IDE可以通過一個鍵盤快捷鍵爲您完成。沒有縮進的代碼是不可讀的。 –
所以你交了一份不能編譯的作業,但你驚訝於你的教授沒有給你拒絕解決方案的理由是「錯誤的」? – domsson
我只是想知道他們是任何突出errors.Iam試圖解決,但我堅持我應該做next.Thaks JB我會按你所說的做。 – LordEwok