MD5
首先MD5是一种加密算法,用于生成32个16进制的字符散列值(Hash Value)。我们可以将这个值叫做加密信息的Md5摘要。
SHA-256是SHA-2(Secure Hash Algorithm 2)家族中的一员,它生成的散列值长度为256位(刚好是MD5的两倍),通常以64个十六进制字符表示。
MD5是不安全的,基于以下三个原因,
- 第1个原因是 md5对于现在的电脑来说破解是非常容易的
- 第2个原因是现在网上已经有非常多的 MD5彩虹表如果密码比较短的话,是很容易就攻破的。
- 第3个原因是碰撞率太高了,两个不同的单词竟然具有一样的Hash。
对于以上这些问题有不同的解决办法,第1个是更换加密算法,第2个是加长密码的长度,引入不同的字符,增加密码的复杂性。第3个是是加盐。这些都能提高密码的破解难度。