### Question:
HashUtils { public static String md5(String message) { return hash(message, MessageDigestAlgorithm.MD5); } private  HashUtils(); static String sha1(String message); static String sha256(String message); static String sha512(String message); static String md5(String message); static MessageDigest getDigest(MessageDigestAlgorithm algorithm); static boolean isValidBcryptHash(String hash); static String hash(String message, MessageDigest algorithm);  }### Answer:
@Test public void shouldHashMd5() { String[] correctHashes = { "d41d8cd98f00b204e9800998ecf8427e", "5f4dcc3b5aa765d61d8327deb882cf99", "f2126d405f46ed603ff5b2950f062c96", "0833dcd2bc741f90c46bbac5498fd08f" }; List<String> result = new ArrayList<>(); for (String password : GIVEN_PASSWORDS) { result.add(HashUtils.md5(password)); } assertThat(result, contains(correctHashes)); }