Detecting whether an algorithm is supported without creating one?

Bernd Eckenfels ecki at
Fri Dec 12 05:04:30 UTC 2014

Just get it and throw it away, it is easier than iterating the algorithms of the providers.

> Am 12.12.2014 um 05:02 schrieb Weijun Wang < at>:
> I'd like to check if "SHA-256" is supported without calling MessageDigest.getInstance("SHA-256"). Does such a method exist?
> My case is a multi-thread digestor like this:
> class Digestor {
>   Digestor(String alg) throws NSAE;
>   @ThreadSafe byte[] digest(byte[]) throws Nothing;
> }
> So a Digestor is created and multiple threads can call the digest() method. I would be glad if the constructor can throw an NSAE but not creating a MessageDigest object because I don't know how to safely use it inside digest().
> Thanks
> Max

More information about the security-dev mailing list