Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于使用数字签名用Java编写程序的问题_Java - Fatal编程技术网

关于使用数字签名用Java编写程序的问题

关于使用数字签名用Java编写程序的问题,java,Java,写两个程序——一个给爱丽丝,另一个给鲍勃。它们之间的数据交换是通过用作通信通道的文本文件实现的 我在Netbeans中不断遇到一个错误: 线程主java.lang.RuntimeException中的异常:不可编译的源代码-错误的符号类型:Signature.encode 谁能帮我指引正确的方向?如果需要,我可以发布错误消息;它显示了Alice的钥匙和扩展信息,但没有显示Bob的任何信息。 如果需要的话,我也可以发布实验室指导 import java.math.BigInteger; clas

写两个程序——一个给爱丽丝,另一个给鲍勃。它们之间的数据交换是通过用作通信通道的文本文件实现的

我在Netbeans中不断遇到一个错误:

线程主java.lang.RuntimeException中的异常:不可编译的源代码-错误的符号类型:Signature.encode

谁能帮我指引正确的方向?如果需要,我可以发布错误消息;它显示了Alice的钥匙和扩展信息,但没有显示Bob的任何信息。 如果需要的话,我也可以发布实验室指导

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,如果需要,我可以发布错误消息。始终需要错误消息。如果您的问题是关于一条您不理解的错误消息,那么如果您将该消息显示给您寻求帮助的人,您将获得更高质量的答案。这并不能提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-问题是:有人能帮我指引正确的方向吗这是一个方向。对我来说,这是问题的根源。