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
}

 

posted @ 2026-02-23 20:54  知秋's  阅读(2)  评论(0)    收藏  举报