use new instance of MessageDigest instead of synchronized singleton