关于#java#的题目,请各位专家解答!

要求补完一个程序。作用是使用sha加密和一个共享密钥获得文件摘要。目前的问题是共享密钥怎么使用还有一部分程序不会写。

// Insert the correct class name for the required cryptoprimitive (1 mark, 1 word)
        << MessageDigest >> digestCryptoprimitive = null;

        // Now, instantiate the required cryptoprimitive (2 marks, 5 or 6 lines)
        try {
             MessageDigest digestCryptoprimitive = MessageDigest.getInstance("SHA-224");
             digestCryptoprimitive.update(msg.getBytes());
             
            }
        // Now, start the hash calculation with the shared secret (1 mark, 1 line)
        
        
        // "Prime the pump" - we've got to read something before we can digest it
        // and not do anything if we read nothing.
        try {
            bytesRead = in.read(inputBuffer);
        } catch (IOException e) {
            printErrorMessage("Error reading input file " + args[1],e); System.exit(1);
        }

        // As long as we've read something, loop around updating the digest value
        // bytesRead will be zero if nothing was read, or -1 on EOF - treat them both the same
        while (bytesRead > 0) {
            
            // Update the digest with the bytes that were read (2 marks, 1 line)
            bytesRead = 

            // And read in the next block of the file
            try {
                bytesRead = in.read(inputBuffer);
            } catch (IOException e) {
                printErrorMessage("Error reading input file " + args[1],e); System.exit(1);
            }
        }
        
        // Get the final digest value (1 mark, complete 1 line)
        messageDigest = 
        
        // And print the digest value as a long hex string (1 mark, 1 line)
        
    }

// 初始化MessageDigest
messageDigest = MessageDigest.getInstance("SHA-224");
// 执行消息摘要 
messageDigest.digest(data);