I need to hash multiple keys from multiple threads using MessageDigest in a performance critical environment. I came to know that MessageDigest is not thread safe as it stor
You could use ImmutableMessageDigest from Caesar, an open source library I wrote.
It essentially wraps a MessageDigest instance and clones it before every digest() or update() call.
MessageDigest
digest()
update()