golang 中的md5 、hmac、sha1算法的简单实现

简介: package mainimport ( "crypto/hmac" "crypto/md5" "crypto/sha1" "encoding/hex" "fmt")func Md5(data string) string { md5 := md5.
package main

import (
	"crypto/hmac"
	"crypto/md5"
	"crypto/sha1"
	"encoding/hex"
	"fmt"
)

func Md5(data string) string {
	md5 := md5.New()
	md5.Write([]byte(data))
	md5Data := md5.Sum([]byte(""))
	return hex.EncodeToString(md5Data)
}

func Hmac(key, data string) string {
	hmac := hmac.New(md5.New, []byte(key))
	hmac.Write([]byte(data))
	return hex.EncodeToString(hmac.Sum([]byte("")))
}

func Sha1(data string) string {
	sha1 := sha1.New()
	sha1.Write([]byte(data))
	return hex.EncodeToString(sha1.Sum([]byte("")))
}

func main() {
	fmt.Println(Md5("hello"))
	fmt.Println(Hmac("key2", "hello"))
	fmt.Println(Sha1("hello"))
}

目录
相关文章
|
2月前
|
算法 数据安全/隐私保护
火山中文编程 -- MD5算法和SHA算法
火山中文编程 -- MD5算法和SHA算法
19 0
火山中文编程 -- MD5算法和SHA算法
|
6月前
|
算法 Java Go
每位 Gopher 都应该了解的 Golang 语言的垃圾回收算法
每位 Gopher 都应该了解的 Golang 语言的垃圾回收算法
18 0
|
2月前
|
算法 Java Android开发
安卓逆向 -- NDK开发实现MD5算法
安卓逆向 -- NDK开发实现MD5算法
34 0
|
2月前
|
算法 JavaScript Java
安卓逆向 -- 算法基础(MD5)
安卓逆向 -- 算法基础(MD5)
13 0
|
2月前
|
算法 Android开发
安卓逆向 -- 自吐算法(MD5和SHA)
安卓逆向 -- 自吐算法(MD5和SHA)
14 0
|
3月前
|
算法 网络协议 C语言
C/C++学习 -- HMAC算法
C/C++学习 -- HMAC算法
37 0
|
3月前
|
算法 JavaScript 前端开发
JavaScript学习 -- HMAC算法基本原理
JavaScript学习 -- HMAC算法基本原理
29 0
|
3月前
|
算法 Go
Golang实现Raft一致性算法
Golang实现Raft一致性算法
40 0
|
4月前
|
存储 算法 搜索推荐
保护数据隐私:深入探索Golang中的SM4加密解密算法
保护数据隐私:深入探索Golang中的SM4加密解密算法
|
4月前
|
算法 安全 Java
MD5 - 加密算法简要介绍与JAVA实现
MD5 - 加密算法简要介绍与JAVA实现
53 1