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())
}
相关推荐
小码哥_常39 分钟前
告别MySQL!大厂集体转投PostgreSQL,到底藏着什么玄机?
后端
玩转单片机与嵌入式1 小时前
玩转边缘AI(TInyML):需要掌握的C++知识汇总!
开发语言·c++·人工智能
茉莉玫瑰花茶2 小时前
Qt 信号与槽 [ 1 ]
开发语言·数据库·qt
刀法如飞2 小时前
Go数组去重的20种实现方式,AI时代解决问题的不同思路
后端·算法·go
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第30题:JDK动态代理和CGLIB动态代理有什么区别
java·开发语言·后端·面试·代理模式
swipe2 小时前
别再把 AI 聊天做成纯文本:从 agui 这个前后端项目,拆解“可感知工具调用”的流式 AI UI
后端·langchain·llm
GetcharZp2 小时前
GitHub 爆火!纯 Go 编写的文件同步神器 Syncthing,凭什么成为程序员的标配?
后端
hERS EOUS2 小时前
SpringBoot 使用 spring.profiles.active 来区分不同环境配置
spring boot·后端·spring
LucianaiB3 小时前
我用飞书多维表做了一个 AI 活动推荐智能体:每天自动催我别错过截止日期!
后端