md5 implementation using MD_DEFN macro
sha1 implementation using MD_DEFN
minor refactoring in sha1