Go Lang之md5加密方式
/* * Go Lang中MD5加密方法: 密码 + 盐(一串随机数)再Hash的方式 */ package main import ( "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) // 字符串转byte has := 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 }