Go语言实现md4md5sha256哈希算法加密

Posted 小生凡一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言实现md4md5sha256哈希算法加密相关的知识,希望对你有一定的参考价值。

1. 哈希算法特点

不可逆:无法从一个哈希值恢复原始数据,哈希并不加密

唯一性:对于特定的数据 只能有一个哈希 并且这个哈希是唯一的

防篡改:改变输入数据中的一个字节 导致输出一个完全不同的哈希值

2. 常用的哈希算法

MD4、MD5、hash1、sha224、sha256、sha384、sha512

性能 : md4 > md5 > sha224 > sha256 > sha384 > sha512

内存消耗:md5 > md4 > sha512 > sha384 > sha256 = sha224

建议平常使用sha256即可,安全性可靠且消耗资源不高。

3. go实现MD加密

3.1 MD4

import (
	"encoding/hex"
	"golang.org/x/crypto/md4"
)

func GetMd4(str string) string {
	srcByte := []byte(str)
	md4New := md4.New()
	md4Bytes := md4New.Sum(srcByte)
	md4String := hex.EncodeToString(md4Bytes)
	return md4String
}

3.2 MD5

import (
	"crypto/md5"
	"encoding/hex"
)

func GetMd5(str string) string {
	srcByte := []byte(str)
	md5New := md5.New()
	md5Bytes := md5New.Sum(srcByte)
	md5String := hex.EncodeToString(md5Bytes)
	return md5String
}

3. go实现SHA加密

import (
	"crypto/sha256"
	"encoding/hex"
)

func GetSha256(str string) string {
	srcByte := []byte(str)
	sha256New := sha256.New()
	sha256Bytes := sha256New.Sum(srcByte)
	sha256String := hex.EncodeToString(sha256Bytes)
	return sha256String
}

最后

小生凡一,期待你的关注。
在这里插入图片描述

以上是关于Go语言实现md4md5sha256哈希算法加密的主要内容,如果未能解决你的问题,请参考以下文章

go语言 实现哈希算法

良好的加密哈希函数 [重复]

windows cmd下作MD5校验

2.哈希加密 & base64加密

go语言练习:sha256sha512哈希算法

比特币地址生成过程 go语言版本