/** * Proxy method for {@link java.security.MessageDigest#getProvider} * which is executed on the internal {@link java.security.MessageDigest} object. * * @return the result of the {@link java.security.MessageDigest#getProvider} method */ public java.security.Provider getJCEProvider() { return algorithm.getProvider(); }
public String getProvider() { if(digest==null){ return null; } return digest.getProvider().getName(); }
private static void digestBench(InputStream in, String digestMode) throws IOException, GeneralSecurityException { MessageDigest md = MessageDigest.getInstance(digestMode); System.out.println("=================="); System.out.println("Digest Benchmark"); System.out.println("Mode: " + digestMode); System.out.println("Provider: " + md.getProvider().getName() + ": " + md.getProvider().getClass()); byte[] buffer = new byte[128*1024]; int c; long bytes=0; long start = System.currentTimeMillis(); while((c = in.read(buffer)) != -1) { md.update(buffer, 0, c); bytes+=c; } byte[] digest = md.digest(); long end = System.currentTimeMillis(); System.out.println("Digest=" + EncryptionUtil.toHexPadded(digest)); printPerf(bytes, end-start); in.close(); }
/** * Get a MessageDigest * * @return a messageDigest * @throws NoSuchAlgorithmException * If the algorithm name is unknown or unsupported */ public MessageDigest getMessageDigest() throws NoSuchAlgorithmException { String name= getMessageDigestName(); Provider provider= providers.getProvider(name); MessageDigest messageDigest; if (provider == null) { messageDigest= MessageDigest.getInstance(name); } else { messageDigest= MessageDigest.getInstance(name, provider); } LOGGER.debug(FOUND_CL_ALG_PROV, messageDigest.getClass().getSimpleName(), name, messageDigest.getProvider().getName()); return messageDigest; }
@Override public MessageDigest createDigest(final String algorithm) throws NoSuchAlgorithmException { checkNotNull(algorithm); MessageDigest obj; try { obj = MessageDigest.getInstance(algorithm, getProvider()); } catch (NoSuchAlgorithmException e) { logFallback(e); obj = MessageDigest.getInstance(algorithm); } if (log.isTraceEnabled()) { log.trace("Created message-digest: {} ({})", obj.getAlgorithm(), obj.getProvider().getName()); } return obj; }
/** * Create a new TlsCrypto using the current builder configuration and the passed in entropy source.. * * @param random SecureRandom for generating key material and seeds for nonce generation. * @return a new TlsCrypto. */ public TlsCrypto create(SecureRandom random) { try { if (random == null) { SecureRandom keyRandom; if (helper instanceof DefaultJcaJceHelper) { keyRandom = SecureRandom.getInstance("DEFAULT"); } else { keyRandom = SecureRandom.getInstance("DEFAULT", helper.createDigest("SHA-512").getProvider()); } return create(keyRandom, new NonceEntropySource(helper, keyRandom)); } return create(random, new NonceEntropySource(helper, random)); } catch (GeneralSecurityException e) { throw new IllegalStateException("unable to create TlsCrypto: " + e.getMessage(), e); } }
messageDigest.getProvider().getClass().getName() + ": digestLength " + digestLength + "."); time0 = time; System.err.println( messageDigest.getProvider().getClass().getName() + ": ratio " + String.format("%.2f", time / (double) time0)
Messages.INIT_DIGEST_ENC_3, m_digest.getAlgorithm(), m_digest.getProvider().getName(), String.valueOf(m_digest.getProvider().getVersion())));
Messages.INIT_DIGEST_ENC_3, m_digest.getAlgorithm(), m_digest.getProvider().getName(), String.valueOf(m_digest.getProvider().getVersion())));
Messages.INIT_DIGEST_ENC_3, m_digest.getAlgorithm(), m_digest.getProvider().getName(), String.valueOf(m_digest.getProvider().getVersion())));