首页 > 其他分享 >Go Lang之md5加密方式

Go Lang之md5加密方式

时间:2024-10-01 16:44:58浏览次数:7  
标签:Lang 加密 string fmt pwd Go hash 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
}

 

标签:Lang,加密,string,fmt,pwd,Go,hash,md5
From: https://www.cnblogs.com/codtina/p/18442962

相关文章