Go Lang之md5加密方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | /* * 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 } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!