MD5 cryptography experiment report plus code