generate md5 and sha1 formatting password from plaintext

When i beginning read the source code of go-http-auth, I spent a long time to find out how the password `:$1$dlPL2MqE$oQmn16q49SqdmhenQuNgs1` of "hello" was generated in example/basic.go . I can't find any explain in document and any demo code.   
So, I implemented the function of generate md5 and sha1 formatting password from plaintext. And i believe these two functions is useful when writing the function  `func  Secret(user, realm string) string`, especially the raw password may be changed.