关于使用数字签名用Java编写程序的问题
写两个程序——一个给爱丽丝,另一个给鲍勃。它们之间的数据交换是通过用作通信通道的文本文件实现的 我在Netbeans中不断遇到一个错误: 线程主java.lang.RuntimeException中的异常:不可编译的源代码-错误的符号类型:Signature.encode 谁能帮我指引正确的方向?如果需要,我可以发布错误消息;它显示了Alice的钥匙和扩展信息,但没有显示Bob的任何信息。 如果需要的话,我也可以发布实验室指导关于使用数字签名用Java编写程序的问题,java,Java,写两个程序——一个给爱丽丝,另一个给鲍勃。它们之间的数据交换是通过用作通信通道的文本文件实现的 我在Netbeans中不断遇到一个错误: 线程主java.lang.RuntimeException中的异常:不可编译的源代码-错误的符号类型:Signature.encode 谁能帮我指引正确的方向?如果需要,我可以发布错误消息;它显示了Alice的钥匙和扩展信息,但没有显示Bob的任何信息。 如果需要的话,我也可以发布实验室指导 import java.math.BigInteger; clas
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可以通过一个键盘快捷键为您实现这一点。没有缩进的代码是不可读的。所以你交了一个没有编译的作业,但是你很惊讶你的教授没有给你一个拒绝这个解决方案的理由,因为“错误”?我只是想知道它们是否有任何突出的错误。我正在尝试修复,但我坚持我应该做下一个。Thaks JB我会按照你说的做。Re,如果需要,我可以发布错误消息。始终需要错误消息。如果您的问题是关于一条您不理解的错误消息,那么如果您将该消息显示给您寻求帮助的人,您将获得更高质量的答案。这并不能提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-问题是:有人能帮我指引正确的方向吗这是一个方向。对我来说,这是问题的根源。