做好每一件事,读好每一本书,天道酬勤
用户密码加密
2022-02-07 / 2 min read

在我们写程序中会有密码,密码我们肯定是需要有加密的一个环节。那么我们这里介绍一下md5加密

加密算法的分类


这里我们可以看到分为两类
那么两类的区别在于那里呢?

什么是对称加密

对于对称加密,最简单的理解就是,在加密和解密的时候使用的是同一把钥匙,这样对于用户来说是不安全的,因为我们一旦知道了加密算法的钥匙,那么所有的密码我都可以解密出来,这对于用户的账号安全是一个很大的威胁。
那么我们这里就引出了非对称加密。

什么是非对称加密

非对称加密,也就是密码不能被反解出来。那么我们也会遇见一个问题,不能反解那么我们忘记了密码那么我们应该怎么办呢?
对于这个问题,我们使用的解决办法是使用一个链接发给用户进行修改,这样既保证了安全性,也解决了这个问题。
判断用户密码输入是否正确的问题,这里我们不能对数据库的密码进行解密,那么我们就转换一下思路,我们对用户输入的值进行加密,然后进行比对,这样这个问题就得到的解决。
这里我们详细的说明一下一个非对称加密,MD5

MD5 信息摘要加密算法


在go中,写md5加密算法是很容易的,因为有现成的包可以使用

func ginMd5(code string)string{
	Md5 :=  md5.New()
	_,_ = io.WriteString(Md5,code)
	return hex.EncodeToString(Md5.Sum(nil))
}

使用的包是:"crypto/md5"
对于这里我们不用太纠结这里的函数,这里我们需要做的就是直接使用就可以了。