go语言加密大全(md5、HmacSHA256、获取uuid、时间戳)

目录

一、MD5加解密

go 复制代码
import (
	"crypto/md5"
	"encoding/hex"
)

func md5Encrypt(txt string) string {
	m5 := md5.New()
	m5.Write([]byte(txt))
	txtHash := hex.EncodeToString(m5.Sum(nil))
	return txtHash
}

二、HmacSHA256加解密

go 复制代码
import (
	"crypto/hmac"
	"crypto/sha256"
	"encoding/base64"
)

func HmacSha256ToBase64(key string, data string) string {
	mac := hmac.New(sha256.New, []byte(key))
	_, _ = mac.Write([]byte(data))
	encode := mac.Sum(nil)
	return base64.StdEncoding.EncodeToString(encode)
}

三、获取uuid、时间戳

go 复制代码
import (
	"github.com/google/uuid"
	"strconv"
	"time"
)
func main() {
	now := time.Now()
	time_1 := strconv.FormatInt(now.Unix(), 10)      // 10位时间戳
	time_2 := strconv.FormatInt(now.UnixMilli(), 10) // 13位时间戳
	println(time_1)
	println(time_2)
	println(uuid.New().String())
}
相关推荐
码luffyliu5 分钟前
从 2 小时价格轮询任务通知丢失,拆解 Go Context 生命周期管控核心
后端·golang·go
a努力。35 分钟前
宇树Java面试被问:方法区、元空间的区别和演进
java·后端·面试·宇树科技
2501_9167665439 分钟前
【面试题1】128陷阱、==和equals的区别
java·开发语言
码事漫谈1 小时前
二叉树中序遍历:递归与非递归实现详解
后端
码事漫谈1 小时前
跨越进程的对话之从管道到gRPC的通信技术演进
后端
a程序小傲1 小时前
蚂蚁Java面试被问:注解的工作原理及如何自定义注解
java·开发语言·python·面试
似水এ᭄往昔2 小时前
【C++】--封装红⿊树实现mymap和myset
开发语言·数据结构·c++·算法·stl
charlie1145141912 小时前
嵌入式现代C++教程:C++98——从C向C++的演化(3)
c语言·开发语言·c++·笔记·学习·嵌入式
TAEHENGV2 小时前
创建目标模块 Cordova 与 OpenHarmony 混合开发实战
android·java·开发语言
程序员zgh2 小时前
C语言 指针用法与区别(指针常量、常量指针、指针函数、函数指针、二级指针)
c语言·开发语言·jvm·c++