关于为什么”SHA1值”,”MD5值”能够保证所下系统软件为官方原版的回答!载
在以往提供光盘镜像或其他大型软件下载时,总是会同提供相应的SHA1值等信息,并建议朋友们使用验证软件纯洁性:HashV1.04 MD5验证SHA1CRC32工具进行验证,来保证自己所下载的是官方原版!但很多朋友对此很疑惑,为什么SHA1值就能保证自己所下载软件的纯洁性呢?除了SHAI值以外(MSDN网站提供的效验值只要是SHAI值),国内下载网站往往提供“MD5值”作为效验值,也可以用来验证软件的纯洁性!对于MSDN提供资源的详细信息中,还有一个很不起眼的“CRC”,那他又有什么作用?下面虾虾就这些疑问,做下通俗简单的介绍!
SHA1——
SHA1的规范名称是SHAI-1,SHA1的全称是SecureHashAlgorithm(安全散列算法),由美国“国家安全局(NSA)”和“国家标准与技术研究院(NIST)”联合研发,用来保护敏感的未保密资料。在联邦政府使用的同时,鼓励商业、企业和其它组织使用,从而实现“数位”版权管理(SHA1具有全球唯一特性)。通俗的说,既一个软件发生任何轻微的变化(如文件丢失,文件改写)都会引起SHA1值发生变化!
MD5——
全称是Message-Digest Algorithm 5(信息 –摘要算法)。MD5使用的是哈希函数:不可逆加密算法。大家熟悉的典型应用,就是将“光盘镜像或大型软件”当作一个大文本信息,通过不可逆的字符串变换算法产生“字符”信息摘要,以此检查、验证信息传输的完整一致(MD5具有全球唯一特性)。通俗的说,既一个软件发生任何轻微的变化(如文件丢失,文件改写)都会引起MD5值发生变化!
CRC——
全称是Cyclical RedundancyCheck(循环冗余校验)。在各类下载的实际应用时:发送装置首先要计算出CRC值并随数据一同发送给接收装置;接收装置对下载数据进行计算并与收到的CRC相比较,从而确保数据传输的完整准确。CRC-32是CRC“分支”:一般用于Point-to-Point的同步传输。
对于以上所说SHA1值具有全球唯一性,您可能不能明白,举个例子,在一个软件中,哪怕是只有一个文件损坏,或被改写,其SHAI值都会有着变化,其灵敏性严格保证了软件的纯洁性!大家可以做一个简单的实验,新建一个压缩文件,在其中分别加入一些文件(数量不限),然后使用HashV1.04 MD5验证SHA1CRC32工具验证其SHAI值,再从压缩文件中随意删除一个文件,在进行验证,你就会发现SHA1值变了!大家也可以拿一个文本文档进行,通过改变其中文字进行SHAI值验证,进行对比!记得每次更改文本文档后都要保存,你也会发现其SHA1值的不同!
提醒大家:在下载过程中很可能会出现文件丢失的情况,建议下载后使用验证软件纯洁性:HashV1.04 MD5验证SHA1CRC32工具获得所下载软件验证信息,并与所提供SHA1值等验证信息作对比,以保证软件的完整性与纯洁性!