### Question:
JCECrypto implements Crypto { @Override public byte[] sha384(byte[] input) throws NoSuchAlgorithmException { return getDigest(input, "SHA-384"); } JCECrypto(Provider provider); @Override byte[] encryptRSA(byte[] message, PublicKey publicKey); @Override byte[] decryptRSA(byte[] message, PrivateKey privateKey); @Override RSAPublicKey getRSAPublicKeyFromPEM(String publicKey); @Override byte[] sha256(byte[] input); @Override byte[] sha384(byte[] input); @Override byte[] sha512(byte[] input); @Override String getRsaPublicKeyFingerprint(RSAPublicKey key); @Override String getRsaPublicKeyFingerprint(RSAPrivateKey key); static RSAPrivateKey getRSAPrivateKeyFromPEM(Provider provider, String pem); static RSAPublicKey getRSAPublicKeyFromPEM(Provider provider, String pem); static String getRsaPublicKeyFingerprint(Provider provider, RSAPrivateKey key); static String getRsaPublicKeyFingerprint(Provider provider, RSAPublicKey key); static String getPEMFromRSAPublicKey(RSAPublicKey publicKey); static String getPEMFromRSAPrivateKey(RSAPrivateKey privateKey);  }### Answer:
@Test public void testSha384() throws Exception { String expected = "2ca8b7b913d970a884fdb61daf74f6b4f868bc2ac20ea75" + "83009259f382b14a04be97ea64ba0bab703ca7ea75a932bd5"; String actual = Hex.toHexString(crypto.sha384("Testing".getBytes())); assertEquals(expected, actual); }