2つのプログラムを書きます.1つはアリス用、もう1つはボブ用です。それらの間のデータ交換は、通信チャネルとして使用されるテキストファイルによって達成される。誤っSYMタイプ - 互換性のないソースコード:Signature.encodeデジタル署名を使用してJavaでプログラムを書くことについての質問
でき
スレッド "メイン" java.lang.RuntimeExceptionの例外:私はNetBeansでエラーを取得しておく
誰かが正しい方向に私を助けてくれますか?必要に応じてエラーメッセージを投稿することができます。それはアリスの鍵と拡張メッセージを表示しますが、ボブについては何も表示しません。 必要に応じてラボの指示を投稿することもできます。
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
私はちょうど彼らが何か目立っている誤りであると思っていた。私は修正しようとしているが、私は次のことをしなければならない。 – LordEwok