在GO中处理的话,比较方便。
func main() { fmt.Println(md5Str("woGo")) fmt.Println(sha512Str("woGo")) fmt.Println(base64DecodeStr(base64EncodeStr("fd"))) } //md5验证 func md5Str(src string) string { h := md5.New() h.Write([]byte(src)) // 需要加密的字符串为 //fmt.Printf("%s\n", hex.EncodeToString(h.Sum(nil))) // 输出加密结果 return hex.EncodeToString(h.Sum(nil)) } //sha512验证 func sha512Str(src string) string { h := sha512.New() h.Write([]byte(src)) // 需要加密的字符串为 //fmt.Printf("%s\n", hex.EncodeToString(h.Sum(nil))) // 输出加密结果 return hex.EncodeToString(h.Sum(nil)) } //base编码 func base64EncodeStr(src string) string { return string(base64.StdEncoding.EncodeToString([]byte(src))) } //base解码 func base64DecodeStr(src string) string { a, err := (base64.StdEncoding.DecodeString(src)) if err != nil { return "error" } return string(a) }
而在python中的话,也就是短短几句代码
import hashlib,base64 src =b"woGo" m= hashlib.md5() m.update(src) print (m.hexdigest()) print(hashlib.sha512(src).hexdigest()) 其实来说无论是GO语言还是python,在解码的时候,需要加个异常处理。 print(base64.b64encode(b"fd")) print(base64.b64decode(base64.b64encode(b"fd")))