点击上方Java全栈技术,每日关注学习Java知识点
SHA-1
SHA-1 算法可以从纯文本生成160 位信息摘要。一个例子是:
给定明文:abcd
SHA-1 概述:81FE8BFE87576C3ECB22426F8E57847382917ACF
SHA-1 和MD5 之间的主要区别是什么?
1.摘要长度不同。
MD5 的摘要长度为128 位,SHA-1 的摘要长度为160 位。额外的32 位意味着什么?不同明文之间的冲突概率减少了2^32=324294967296。
2.性能略有差异
使用SHA-1 生成的摘要的性能略低于MD5。
SHA-2
SHA-2 是一组SHA 算法变体的通用名称,包括以下颠覆:
SHA-256:可以生成256位信息摘要。
SHA-224:SHA-256 的“阉割版本”。可以生成224位的信息摘要。
SHA-512:可以生成512 位长的消息摘要。
SHA-384:SHA-512 的“阉割版”。您可以生成384 位信息摘要。
显然,消息摘要越长,发生冲突的可能性就越小,破译也就越困难。但同时,也提高了性能和空间占用。
纯文本:abcd
MD5概述:
e2fc714c4727ee9395f324cd2e7f331f
SHA-256 概述:
88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589
综合总结:
e2fc714c4727ee93209c897823b9217da3e161936f031589
首先我们回顾一下MD5算法的核心流程。还没有看过的朋友,请点击这个链接。
每日算法:什么是MD5算法?
也就是说,MD5将128位信息摘要分为四段(字)A、B、C、D,每段32位,在循环处理过程中交替对A、B、C、D进行操作。形式。 128 位汇总结果。
我们再看一下SHA-1算法。核心流程是相似的。主要区别在于160位信息摘要分为五段(A、B、C、D、E)。
我们再看一下SHA-2系列算法。核心流程比较复杂,将信息摘要分为八段(A、B、C、D、E、F、G、H)。
SHA-256 的每个摘要的长度为32 位,SHA-512 的每个摘要的长度为64 位。 SHA-224 和SHA-384 根据前两者产生的结果进行调整。
补充要点:
SHA 家族的最新成员SHA-3 于2015 年发布。关于SHA-3的更多信息,感兴趣的朋友可以查看资料了解更多。
本文转载自公众号:程序员小辉
【sha1算法流程图,sha_2系列算法的发布时间】相关文章: