On 12/12/2014 12:04 AM, Bernd Eckenfels wrote:
Just get it and throw it away, it is easier than iterating the algorithms of 
the providers.

Yes, probably. But as you note, the other way is to iterate over the Providers returned by Security.getProviders(), and call p.getService("MessageDigest", "SHA-256") on each ...

--Sean



Am 12.12.2014 um 05:02 schrieb Weijun Wang <[email protected]>:

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

Reply via email to