notes on hash and md5