Store MessageDigest in a ThreadLocal ... no need for a new one everytime