[PATCH] Add class java.security.StandardMessageDigests

Florian Weimer fweimer at redhat.com
Mon May 5 11:51:38 UTC 2014


On 03/24/2014 05:30 PM, Florian Weimer wrote:
> This CR adds a new class java.security.StandardMessageDigests:
>
> <http://fweimer.fedorapeople.org/openjdk/standard-message-digests/>
>
> Could I get a bug number if this change is fine in principle?
>
> Cryptographic hash functions are frequently used directly, often for
> non-cryptographic purposes, so I think it makes sense to provide a
> convenient way to access implementations for the most common hashes. The
> new class follows the java.nio.charset.StandardCharsets precedent
> (separate class, "Standard" in the name).
>
> I deliberately did not include support for MD5.  It would be nice if we
> could drop the NoSuchAlgorithmException, but this would be problematic
> once there are providers that do not support SHA-1.
>
> Instantiating digest objects through cloning should be quite a bit
> faster than the provider route (but I measured this some time ago only,
> so these results could be outdated by now).

Ping?  This change proposal is in response to an earlier discussion:

<http://mail.openjdk.java.net/pipermail/security-dev/2010-December/002531.html>

I fixed the webrev so that the fast path actually runs, and now JMH 
reports a speedup:

Benchmark                                       Mode   Samples 
Mean   Mean error    Units
o.o.j.b.StandardMessageDigestsBenchmark.get    thrpt       200 
1650.350       53.388   ops/ms
o.o.j.b.StandardMessageDigestsBenchmark.smd    thrpt       200 
1814.137       59.414   ops/ms

-- 
Florian Weimer / Red Hat Product Security Team



More information about the security-dev mailing list