vlambda博客
学习文章列表

Hash算法中md5,sha-1以及sha2的区别

hello 大家好,我还是那个人见人爱,花见花开的小橘子,今天捋了捋Hash算法中md5与sha-1以及sha2的区别。


首先介绍一下Hash     (以下使用图片均来自百科)


Hash算法中md5,sha-1以及sha2的区别


        

Hash算法中md5,sha-1以及sha2的区别


哈希,也被称为散列,他的特点包括:

1、消息摘要应具有恒定的长度。

2、无法执行反向功能。

3、加密主要用于加密消息或文件。 


而md5和sha-1作为常用的Hash算法实践,在如今的市场中被广泛使用


Hash算法中md5,sha-1以及sha2的区别


MD5和sha-1都是用于创建唯一密钥以保护数据文件的一种实现方式。在这种情况下,数据是称为摘要或哈希的消息,从黑客的角度来看,sha-1比MD5更复杂,更难破解。


下图是md5与sha-1之间的横向对比图


Hash算法中md5,sha-1以及sha2的区别


虽然md5在速度上相比sha-1更快更可靠,但是在安全方面sha1更胜一筹:

MD5表示为32位十六进制数字,该数字已被密码破解并且可能发生冲突,尽管它作为最常用的哈希函数之一而受到欢迎,但是对于依赖于冲突抵抗的系统,它并不是最优选的基于安全性的服务。


而sha-1需要大量的位作为输入,并生成较短且更安全的固定大小的输出。
当前,有一些sha-1更好的版本已消除了大多数漏洞,例如SHA-256,SHA-384,SHA-512。


在日常使用中,大家常会对比sha-1来确认安装包的完整性。


但是,sha-1马上就要被已经被微软官方停止支持了,取而代之的是更为安全的sha-2,现在好多windows应用都被要求强制安装sha2补丁以获取软件的数字签名。



小橘子也是刚刚接触Hash,对于算法实现方式也不是很清楚,目前只是大概了解hash 的功能及应用场景,若有正在学习了解的欢迎一起交流。

本期的分享就到这里啦,若有相关问题请在后台私信联系噢