摘要算法CRC8、CRC16、CRC32,MD2 、MD4、MD5,SHA1、SHA256、SHA384、SHA512,RIPEMD、PANAMA、TIGER、ADLER32...

1、CRC8、CRC16、CRC32
CRC(Cyclic Redundancy Check,循环冗余校验)算法出现时间较长,应用也十分广泛,尤其是通讯领域,现在应用最多的就是 CRC32 算法,它产生一个4字节(32位)的校验值,一般是以8位 十六进制数,如FA 12 CD 45等。CRC算法的优点在于简便、速度快,严格的来说,CRC更应该被称为 数据校验算法,但其功能与数据摘要算法类似,因此也作为测试的可选算法。
在 WinRAR、WinZIP 等软件中,也是以 CRC32 作为 文件校验算法的。一般常见的简单文件校验(Simple File Verify – SFV)也是以 CRC32算法为基础,它通过生成一个后缀名为 .SFV 的文本文件,这样可以任何时候可以将文件内容 CRC32运算的结果与 .SFV 文件中的值对比来确定此文件的完整性。
与 SFV 相关工具软件有很多,如MagicSFV、MooSFV等。
2、MD2 、MD4、 MD5
这是应用非常广泛的一个算法家族,尤其是 MD5(Message-Digest Algorithm 5, 消息摘要算法版本5),它由MD2、MD3、MD4发展而来,由Ron Rivest(RSA公司)在1992年提出,被广泛应用于 数据完整性校验、数据(消息)摘要、 数据加密等。MD2、MD4、MD5 都产生16字节(128位)的校验值,一般用32位 十六进制数表示。MD2的算法较慢但相对安全,MD4速度很快,但安全性下降,MD5比MD4更安全、速度更快。
在互联网上进行大文件传输时,都要得用MD5算法产生一个与文件匹配的、存储MD5值的文本文件(后缀名为 .md5或. md5sum),这样接收者在接收到文件后,就可以利用与 SFV 类似的方法来检查文件完整性,绝大多数大型软件公司或开源组织都是以这种方式来校验 数据完整性,而且部分操作系统也使用此算法来对用户密码进行加密,另外,它也是目前计算机犯罪中数据取证的最常用算法。
与MD5 相关的工具有很多,如 WinMD5等。
3、 SHA1SHA256、SHA384、SHA512
SHA(Secure Hash Algorithm)是由美国专门制定 密码算法的 标准机构—— 美国国家标准技术研究院(NIST)制定的,SHA系列算法的摘要长度分别为:SHA为20字节(160位)、SHA256为32字节(256位)、 SHA384为48字节(384位)、SHA512为64字节(512位),由于它产生的数据摘要的长度更长,因此更难以发生碰撞,因此也更为安全,它是 未来数据摘要算法的发展方向。由于SHA系列算法的数据摘要长度较长,因此其运算速度与MD5相比,也相对较慢。
SHA1的应用较为广泛,主要应用于CA和数字证书中,另外在互联网中流行的BT软件中,也是使用SHA1来进行文件校验的。
4、RIPEMD、PANAMA、TIGER、ADLER32 等
RIPEMD是Hans Dobbertin等3人在对MD4,MD5缺陷分析基础上,于1996年提出来的,有4个标准128、160、256和320,其对应输出长度分别为16字节、20字节、32字节和40字节。

TIGER由Ross在1995年提出。Tiger号称是最快的Hash算法,专门为64位机器做了优化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
crc32这几种算法的区别是什么?这些算法中哪个算法的速度更快? SHA256MD5CRC32都是常见的摘要算法,用于计算数据的哈希值。它们在功能和应用上有一些区别。 SHA256是Secure Hash Algorithm 256-bit的缩写,它是一种安全性更高的哈希算法SHA256产生的哈希值长度为256位,更长的哈希值使得碰撞(两个不同的输入产生相同的哈希值)的可能性更低,因此它更适合用于验证文件的完整性和安全性。然而,由于其更复杂的计算过程,SHA256的速度相对较慢。 MD5是Message Digest Algorithm 5的缩写,它是一种较早的哈希算法MD5产生的哈希值长度为128位,相对于SHA256来说较短。虽然MD5在速度方面比SHA256快,但是由于其较短的哈希值长度以及已知的安全漏洞,它已被认为是不安全的,不建议用于安全性要求较高的场景。 CRC32是Cyclic Redundancy Check的缩写,它是一种用于错误检测的校验算法。与SHA256MD5不同,CRC32不是为了安全性而设计的。它主要用于检测数据传输中的错误,并且计算速度非常快。然而,CRC32的哈希值长度只有32位,因此不能用于数据完整性的验证。 综上所述,SHA256在安全性方面更好,但速度较慢;MD5在速度方面较快,但安全性较差;而CRC32主要用于错误检测,并且速度非常快。选择哪种算法取决于具体的应用需求,如果需要较高的安全性,应选择SHA256;如果对安全性要求不高但需要快速计算哈希值,可以选择MD5;如果仅需简单的错误检测,并且追求最快的速度,则可以选择CRC32。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值