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
}

最后

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