`
123003473
  • 浏览: 1040371 次
  • 性别: 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
分享到:
评论

相关推荐

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

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

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

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

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

    C#编写的文件校验码查看器,将文件拖入窗口即可计算,校验算法包括MD5、SHA1、SHA256、SHA384、SHA512、CRC32。

    hash,哈希算法,MD5,SHA1,CRC32值校验

    不多说了,看它的效果! 文件名: F:\QQ2009SP3.exe 文件大小: 27583816 字节 版本: 1.31.1025.0 MD5: 79C200CE5A91DAA90B78540844BCDAF9 SHA1: 91558E1D3F1AB22AB8594EB14B0090E4AF646002 CRC32: 507CD19A

    文件校验工具 MD5 校验王 5.9.8.0 绿色中文免费版.zip

    MD5 校验王可以对任意文件进行版本,文件时间,MD5值,SHA1值,CRC32值的校验。 计算选项: 版本:当选择校验文件为exe或者dll文件时,在运算结果中显示exe与dll文件的版本信息。(注:此选项对其他格式文件无效) ...

    Delphi下实现数据校验

    对Adler-32算法、CRC-32算法、MD5算法、SHA-1算法、SHA-224算法、SHA-256算法、SHA-384算法、SHA-512算法、SHA-512/224算法和SHA-512/256算法进行了逐一的介绍,并对这些算法的优化和安全性进行了讨论。同时给出一个...

    Delphi下实现数据校验(源码)

    对Adler-32算法、CRC-32算法、MD5算法、SHA-1算法、SHA-224算法、SHA-256算法、SHA-384算法、SHA-512算法、SHA-512/224算法和SHA-512/256算法进行了逐一的介绍,并对这些算法的优化和安全性进行了讨论。同时给出一个...

    C++ sm2、sm3、sm4、rsa、crc、md、sha、des等加密算法类源码

    5 crc 校验 6 md md2加密、md4加密、md5加密 7 sha sha-1加密、sha-224加密、sha-256加密、sha-384加密、sha-512加密 8 des ecb加密、ecb解密、cbc加密、cbc解密、mac 源码包含了封装的功能模块类以及测试类, 全部...

    CheckSum CRC校验具

    CommCheckSum校验工具是一款通用的循环冗余校验码CRC(Cyclic Redundancy Check)、MD5、SHA1、SHA2、SHA3、HAVAL、SHAKE、TIGER、BLAKE、RIPEMD、GOST等算法Hash校验的专业工具软件。 CRC校验支持:CRC3、CRC4、...

    VB-MD5校验源码.zip

    SHA1:安全哈希算法值。 CRC32:CRC校验值。 隐藏主窗口:隐藏好压主窗口以方便鼠标拖拽运算。校验窗口始终显示在最前端。 按钮功能: 浏览按钮:弹出文件浏览对话框。可选择一个或多个文件。选择后的文件将会直接...

    CheckSum CRC校验具.zip

    CommCheckSum校验工具是一款通用的循环冗余校验码CRC(Cyclic Redundancy Check)、MD5、SHA1、SHA2、SHA3、HAVAL、SHAKE、TIGER、BLAKE、RIPEMD、GOST等算法Hash校验的专业工具软件。 CRC校验支持:CRC3、CRC4、...

    CRC计算工具V3.3.0-64

    CRC-8 正序、CRC-8 逆序、CRC-16 (0xA001)、CRC-16 (0x8005)、CRC-16 (Modbus)、CRC-16 (Sick)...32 (循环冗余)、CRC-32以太网的校验、MPEG文件的校验、CRC64-ISO、CRC64-ECMA182 等多种校验方法,纯绿色版,无需安装;

    md5 哈希算法 数据完整性验证工具

    md5 SHA 哈希算法 数据完整性验证工具 非常小 提供三种算法:MD5 SHA1 CRC 算法

    MD5验证工具,可以用于文件的MD5校验

    1、只支持常用的MD5、SHA1、CRC32算法;  2、支持多个文件或文件夹拖放操作;  3、支持参数启动(参数为一个或多个文件或文件夹路径);  4、支持保存个人设置(默认保存在注册表,如果存在同名ini文件,则...

    Modbus-CRC16_CRC8超级无敌工具.zip

    是一款通用的循环冗余校验码CRC(Cyclic Redundancy Check)、MD5、SHA1、SHA2、SHA3、HAVAL、SHAKE、TIGER、BLAKE、RIPEMD、GOST等算法Hash校验的专业工具软件。 CRC校验支持:CRC3、CRC4、CRC5、CRC6、CRC7、...

    MD5校验工具包

    支持文件拖放,速度很快,可以计算文件的 MD5、SHA1、CRC32 的值。 HashCalc MD5——一个超强的文件校验码计算工具! 速度快,支持算法多,直接拖动即可计算,十分方便! 还可对字串直接计算! Md5检验工具 V2.0——...

    md校验工具

    1、只支持常用的MD5、SHA1、CRC32算法;  2、支持多个文件或文件夹拖放操作;  3、支持参数启动(参数为一个或多个文件或文件夹路径);  4、支持保存个人设置(默认保存在注册表,如果存在同名ini文件,则...

    Ghost密码破解工具

    GhoHash包含了ghost密码破解和文件哈希值计算功能,支持MD5、CRC32和SHA1算法,还支持哈希值对比功能,非常人性化!体积超小,不够59KB! GhoHash 的特色: 1、WinGUI 窗口界面,可在 Windows 中查看 Ghost 文件的...

    校验大师(MD5校验工具) 2.7.5 绿色版

    校验大师软件小巧,简单,可对文件进行多种算法的校验计算,算法包括MD4,MD5,CRC32,Haval256,RipeMD128,RipeMD160,SHA1,SHA256,SHA384,SHA512,Tiger192等的,同时支持文件拖放,您可以直接拖动文件到校验...

    哈希校验算法

    Hash(md5校验工具)是一款小巧好用的哈希计算器,Hash也是一款md5校验工具,Hash支持文件拖放,速度很快,可以计算文件的 MD5、SHA1、CRC32 的值。本站提供hash(md5校验软件)免费下载。

Global site tag (gtag.js) - Google Analytics