On 12/12/2014 02:20 PM, Sean Mullan wrote:
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 ...
Even simpler:
java.security.Security.getAlgorithms("MessageDigest").contains("SHA-256")
Regards, Peter
--Sean
Am 12.12.2014 um 05:02 schrieb Weijun Wang <weijun.w...@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