`
123003473
  • 浏览: 1064189 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

CRC32、MD5、SHA1算法校验介绍

 
阅读更多
昨天介绍了几款比较常用的文件校验软件,今天继续昨天的话题向大家介绍一下CRC32、MD5及SHA1算法校验知识,在想要写本文之前思齐对这些内容也是不太了解,所以特地在网络上找了一下这部分的资料,然后再整理整理放上来与大家共同分享学习下!

CRC32、MD5和SHA1是目前用来校验文件信息真实性的主要手段,使用这些校验算法可以发现保存或传输的信息是否受到损坏或篡改,防止文件或信息被恶意篡改。下面将分别介绍这几种校验算法。

1、CRC32

W. Wesley Peterson

CRC全称为Cyclic Redundancy Check,又叫循环冗余校验。CRC是目前使用中最老的一种校验算法,它是由W. Wesley Peterson在1961年发表的论文中提出,CRC是种根据网络数据封包或电脑档案等数据产生简短固定位数校验码的一种散列函數(HASH,把任意长度的输入通过散列算法,最终变换成固定长度的摘要输出,其结果就是散列值,按照HASH算法,HASH具有单向性,不可逆性),主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于本函数易于用二进制的电脑硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用。

尽管CRC在错误检测中非常有用,但CRC并不能可靠地校验数据完整性,这是因为CRC多项式是线性结构,可以非常容易地通过改变数据方式达到CRC碰撞,这里给一个更加通俗的解释,假设一串带有CRC校验的代码在传输中,如果连续出现差错,当出错次数达到一定次数时,那么几乎可以肯定会出现一次碰撞(值不对但CRC结果正确),但随着CRC数据位增加,碰撞几率会显著降低,比如CRC32比CRC16具有更可靠的验证性,CRC64又会比CRC32更可靠,当然这都是按照ITU规范标准条件下。

正因为CRC具有以上特点,对于网络上传输的文件类很少只使用CRC作为校验依据,文件传输相比通信底层传输风险更大,很容易受到人为干预影响。

2、MD5

Ronald L. Rivest

MD5全称为Message-Digest Algorithm 5,又叫摘要算法和哈希算法。是Ronald L. Rivest在1992年间提出的,MD5由MD4、MD3、MD2改进而来,MD5散列长度通常是128位,是目前被大量广泛使用的散列算法之一,主要用于密码加密和文件校验等,虽然MD5比CRC的安全可靠性要高的多,但目前已经找到可行的破解方法。现在网上虽然出现有些破解网站和软件,不过可以肯定实际作用范围相当有限,比如,即使黑客拿到了PASSWORD MD5值,除了暴力破解,即使找到碰撞结果也未必能够影响用户安全问题,因为对于密码还要限定位数、类型等,但是如果是面向数字签名等应用,可能就会被破解掉。

3、SHA1

SHA全称为Secure Hash Algorithm,又叫安全散列算法。SHA是由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布,SHA家族算法有SHA-1、SHA-224、SHA-256、SHA-384和SHA-512(后四者通常并称SHA2),原理和MD4、MD5相似。SHA可将一个最大2^64位(2305843009213693952字节)信息,转换成一串160位(20字节)的散列值(摘要信息),是目前应用最广的HASH算法。同MD5一样,从理论角度,SHA1也不是绝对可靠,目前也已经找到SHA1的碰撞条件,但“实用”的碰撞算法软件还没出现。于是美国NIST又开始使用SHA2,研究更新的加密算法。

补充:虽然目前这几种校验算法都找到了破解条件,但像目前主流使用的MD5、SHA1还是值得信赖的,因为MD5和SHA1都具有高度的离散性,哪怕是只修改一个字节值都会导致MD5或SHA1值“巨大”变化,从实践角度,不同信息具有相同MD5或SHA1码的可能性非常低,通常认为是不可能的,对于普通的下载文件或操作系统,想通过简单的修改某个字节或某些字节,又要保证文件名、大小和安装可靠性的前提下,想达到MD5、SHA1碰撞效果也几乎是不可能的。

注:本文参考引用资料出处有:参考一、参考二、参考三、参考四。

refer link:
http://www.siqiboke.com/post/121.html
分享到:
评论

相关推荐

    文件校验工具 CRC32 MD5 HASH校验码自动计算工具

    在给定的“文件校验工具 CRC32 MD5 HASH校验码自动计算工具”中,我们主要关注三种常见的校验技术:CRC32、MD5和HASH。 1. CRC32(Cyclic Redundancy Check 32): CRC32是一种广泛使用的错误检测方法,通过计算...

    校验工具_支持md5 sha1 crc32

    标题中的“校验工具_支持md5 sha1 crc32”指的是一个软件工具,它的主要功能是进行数据完整性校验,支持MD5、SHA1和CRC32这三种常见的校验算法。这样的工具在文件传输、下载验证或软件完整性检查等领域非常有用。 ...

    MD5__SHA1__CRC32 码校验工具

    CRC32生成的校验和为32位,但相比于MD5和SHA1,其安全性较低,主要用于简单的数据校验,如在存储和网络传输中检测数据的完整性。 "Hash_1.0.4_XiaZaiBa.exe"这个文件名可能是一个用于计算和验证MD5、SHA1和CRC32...

    crc32 & md5 & sha1 & sha256

    CRC32、MD5、SHA1以及SHA256是计算机科学中常见的散列函数,它们在数据完整性检查、安全认证、文件校验等方面发挥着重要作用。这些算法都是基于不同的数学原理设计,各有其特点和应用场景。 CRC32(Cyclic ...

    文件检验工具(MD5,SHA1,CRC32)

    HashCalc是一款流行的文件检验工具,它支持包括MD5、SHA1和CRC32在内的多种哈希算法。用户可以通过以下步骤使用HashCalc来检查文件: 1. 下载并安装HashCalc。 2. 打开HashCalc,选择需要计算哈希值的文件。 3. 从...

    文件MD5_SHA1_CRC32码校验

    "文件MD5_SHA1_CRC32码校验"这个主题涉及到了三种常见的哈希算法,即MD5、SHA1和CRC32,它们都是用来验证文件是否被篡改或损坏的重要工具。下面将详细介绍这三种哈希算法及其在实际应用中的作用。 首先,MD5...

    MD5 sha1 crc32 检验工具

    MD5、SHA1和CRC32是三种常用的文件校验和算法,它们在IT领域中扮演着重要角色,主要用于验证数据的完整性和一致性。这里,我们详细探讨这些工具及其用途。 首先,MD5(Message-Digest Algorithm 5)是一种广泛使用...

    CRC DES MD5 Sha 加密算法源码

    本文将详细介绍标题中提到的四种加密算法:CRC、DES、MD5和SHA,以及它们在实际应用中的相关知识点。 首先,CRC(Cyclic Redundancy Check,循环冗余校验)是一种用于检测数据传输错误的简单而有效的校验方法。它...

    Hash校验工具 MD5 SHA1 CRC32

    在IT领域,Hash校验是一种重要的数据完整性验证方法,它涉及到MD5、SHA1和CRC32这三种常见的哈希算法。这些工具被广泛应用于确保文件在传输、存储过程中的完整性,防止数据被篡改或者意外损坏。接下来,我们将详细...

    MD5,SHA1,CRC32数字签名校验工具

    MD5、SHA1和CRC32是三种常见的文件校验和算法,它们在信息技术领域扮演着重要的角色,特别是在数据完整性和信息安全方面。这些算法通过计算文件的唯一标识符,即所谓的数字签名,来验证文件是否被篡改或损坏。 1. ...

    计算文件或者字符串HASH,SHA1,SHA256,CRC32,MD5值

    标题中的“计算文件或者字符串HASH,SHA1,SHA256,CRC32,MD5值”是指在信息技术领域中,用于验证数据完整性的几种常见的散列算法。这些算法能够将任意长度的数据转换为固定长度的唯一标识,常用于文件校验、数据安全...

    MD5 SHA1 CRC校验值生成工具

    MD5、SHA1和CRC是计算机领域中常用的三种校验算法,它们主要用于验证数据的完整性和一致性。在软件下载、文件传输或者系统更新等场景中,这些校验值扮演着重要的角色,确保用户获取到的数据与原始源保持一致,防止因...

    Hash V1.04 MD5 SHA1 CRC32 校验工具

    Hash V1.04是一款功能强大的校验工具,它支持MD5、SHA1以及CRC32三种常见的校验算法,为用户提供了便捷且高效的方式来检查文件的完整性。 MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可将任意...

    C# 文件校验码查看器(MD5、SHA1、SHA256、SHA384、SHA512、CRC32)

    在“C# 文件校验码查看器”这款应用中,整合了MD5、SHA1、SHA256、SHA384、SHA512以及CRC32这六种常见的校验算法,以方便用户快速检查文件的完整性。 1. MD5(Message-Digest Algorithm 5):MD5是最为人所知的校验...

    Hash算法校验工具MD5/SHA1/CRC

    Hash算法校验工具MD5/SHA1/CRC

    最好用的MD5/SHA1/CRC32值校验工具

    总结来说,MD5、SHA1和CRC32是数据完整性验证的重要工具,而"Hash V1.04"提供了一种直观、高效的校验方式。了解并掌握这些基础知识,对于日常的数据管理和保护至关重要。无论是在下载软件、交换文件还是进行系统备份...

    右键属性文件校验插件可同时生成十几种校验码(MD5 CRC32 SHA1)

    标题提到的"右键属性文件校验插件"是一种便捷的工具,它能够帮助用户快速生成多种校验码,包括MD5、CRC32和SHA1。这些校验码在确保文件未被篡改或遭受恶意捆绑方面起着至关重要的作用。 首先,MD5(Message-Digest ...

    文件校验工具(MD5,CRC32,SHA1)

    在IT领域,文件校验是确保数据完整性和真实性的重要手段,而MD5、CRC32和SHA1就是其中常用的三种校验算法。本篇将详细解释这些知识点。 首先,我们来了解一下标题中的“文件校验工具”。这通常指的是用于验证文件...

    文件哈希校验 MD5校验 SHA1校验

    HashCalc V2.02 汉化版 ============================================... .ram, .md5, .sfv...,可识别的数字签名包括MD5、SHA1 、CRC32、MD4、SHA256、SHA384、SHA512、、RIPEMD160、PANAMA、TIGER、MD2、ADLER32..。

    Hash校验工具可直接使用支持MD5 SHA1 SHA256SHA512CRC32算法

    哈希校验工具是计算机领域中用于验证数据完整性和一致性的关键工具,它支持多种哈希算法,如MD5、SHA1、SHA256、SHA512以及CRC32。这些算法在信息技术中扮演着至关重要的角色,因为它们能够提供一种方式来确保文件在...

Global site tag (gtag.js) - Google Analytics