Go笔记-加密
Go笔记-加密
漂泊尘埃 发表于10个月前
Go笔记-加密
  • 发表于 10个月前
  • 阅读 14
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

md5

  • 方式1
md5.Sum([]byte)
  • 方式2
hash := md5.New()
hash.Write([]byte)
hash.Sum(nil)

不同:

  1. 方式1返回的是 [Size]byte 类型的数组而不是切片
  2. 方式2: Write函数会把MD5对象内部的字符串clear掉,然后把其参数作为新的内部字符串。而Sum函数则是先计算出内部字符串的MD5值,而后把输入参数附加到内部字符串后面。

坑:

md5.New().Sum([]byte)

这种方式是先加密空字符串,然后将结果附加到了Sum的参数中,和没有加密一样。

sha3

import (
	"encoding/base64"
	"golang.org/x/crypto/sha3"
)

// 对用户密码进行编码。若密码明文为空字符串,则也会返回空字符串。
func EncodePassword(cleartext string) string {
	if cleartext == "" {
		return ""
	}
	h := make([]byte, 64)
	sha3.ShakeSum256(h, []byte(cleartext))
	return base64.StdEncoding.EncodeToString(h)
}
标签: Go 加密 md5 sha3
共有 人打赏支持
漂泊尘埃
粉丝 4
博文 35
码字总数 70992
×
漂泊尘埃
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: