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
}

 

posted @   沉雪's  阅读(189)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示