Detecting whether an algorithm is supported without creating one?

Bernd Eckenfels ecki at zusammenkunft.net
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 <weijun.wang at oracle.com>:
> 
> 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