[转]关于”SHA1值”,”MD5值”

在以往提供光盘镜像或其他大型软件下载时,总是会同提供相应的SHA1值等信息,并建议朋友们使用验证软件纯洁性:Hash V1.04 MD5验证SHA1 CRC32工具进行验证,来保证自己所下载的是官方原版!但很多朋友对此很疑惑,为什么SHA1值就能保证自己所下载软件的纯洁性呢?除了SHAI值以外(MSDN网站提供的效验值只要是SHAI值),国内下载网站往往提供“MD5值”作为效验值,也可以用来验证软件的纯洁性!对于MSDN提供资源的详细信息中,还有一个很不起眼的“CRC”,那他又有什么作用?下面虾虾就这些疑问,做下通俗简单的介绍!

 

SHA1——

SHA1的规范名称是SHAI-1,SHA1的全称是Secure Hash Algorithm(安全散列算法),由美国“国家安全局(NSA)”和“国家标准与技术研究院(NIST)”联合研发,用来保护敏感的未保密资料。在联邦政府使用的同时,鼓励商业、企业和其它组织使用,从而实现“数位”版权管理(SHA1具有全球唯一特性)。通俗的说,既一个软件发生任何轻微的变化(如文件丢失,文件改写)都会引起SHA1值发生变化!

MD5——

全称是Message-Digest Algorithm 5(信息 – 摘要算法)。MD5使用的是哈希函数:不可逆加密算法。大家熟悉的典型应用,就是将“光盘镜像或大型软件”当作一个大文本信息,通过不可逆的字符串变换算法产生“字符”信息摘要,以此检查、验证信息传输的完整一致(MD5具有全球唯一特性)。通俗的说,既一个软件发生任何轻微的变化(如文件丢失,文件改写)都会引起MD5值发生变化!

CRC——

全称是Cyclical Redundancy Check(循环冗余校验)。在各类下载的实际应用时:发送装置首先要计算出CRC值并随数据一同发送给接收装置;接收装置对下载数据进行计算并与收到的CRC相比较,从而确保数据传输的完整准确。CRC-32是CRC“分支”:一般用于Point-to-Point的同步传输。

    对于以上所说SHA1值具有全球唯一性,您可能不能明白,举个例子,在一个软件中,哪怕是只有一个文件损坏,或被改写,其SHAI值都会有着变化,其灵敏性严格保证了软件的纯洁性!大家可以做一个简单的实验,新建一个压缩文件,在其中分别加入一些文件(数量不限),然后使用Hash V1.04 MD5验证SHA1 CRC32工具验证其SHAI值,再从压缩文件中随意删除一个文件,在进行验证,你就会发现SHA1值变了!大家也可以拿一个文本文档进行,通过改变其中文字进行SHAI值验证,进行对比!记得每次更改文本文档后都要保存,你也会发现其SHA1值的不同!

 

转自:http://blog.sina.com.cn/s/blog_4b44e2b10100kbla.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值