/** Go Lang中MD5加密方法: 密码 + 盐(一串随机数)再Hash的方式 */ package mainimport ("crypto/md5""fmt""io" )// 定义常量,加密密码的盐 const salt = "slo3!458@#134@"func main() {passwd := "admin"hash_md5_fun1(passwd)hash_md5_fun2(passwd) }// 方法一 密码 + 盐 func hash_md5_fun1(pwd string) string {data := []byte(pwd + salt) // 字符串转bytehas := md5.Sum(data) // 对byte数据加密md5str1 := fmt.Sprintf("%x", has) // 将[]byte转成16进制fmt.Println(md5str1)return md5str1 }// 方法二 密码 + 盐 func hash_md5_fun2(pwd string) string {w := md5.New() // 初始化一个MD5对象io.WriteString(w, pwd+salt) // 将str写入到w中md5str2 := fmt.Sprintf("%x", w.Sum(nil))fmt.Println(md5str2)return md5str2 }