golang md5 signature mechanism