`

MD5和SHA1的区别

阅读更多
摘自:http://wenda.chinabaike.com/z/shenghuo/20131226/730201.html

一、由来
        随着信息技术和Internet 的迅速发展,信息安全和可靠性问题越来越重要。现在信息安全面临两大基本攻击:被动式攻击(获取消息的内容、业务流分析)和主动攻击(假冒、消息的篡改、业务拒绝)。前者主要靠加密和解密技术进行有效处理,而后者就要靠消息认证来处理。在金融交易、电子商务、电子信件、手机用户信息的确认等领域,数据完整性确认和数据来源的真伪鉴定都是很重要的安全服务。实现这些安全服务的最好方法就是使用加密函数中的单项散列(Hash)函数。单项散列(Hash)函数是一种单项密码体制,它是一个从明文到密文的不可逆函数,也就是说,是无法解密的。通常应用在只需要加密、不需要解密的特殊应用场合。单项散列(Hash)函数H(M)作用于一任意长度的消息M,它返回一固定长度的散列值h:h=H(M)作为初始消息的独一无二的“数字指纹”,从而能保证数据的完整性和惟一性。

二、MD5 与SHA-1 的比较
        由于MD5 与SHA-1均是从MD4 发展而来,它们的结构和强度等特性有很多相似之处,表(1)是对MD5 与SHA-1 的结构比较。SHA-1与MD5 的最大区别在于其摘要比MD5 摘要长 32 比特。对于强行攻击,产生任何一个报文使之摘要等于给定报文摘要的难度:MD5 是2128 数量级的操作,SHA-1 是2160 数量级的操作。产生具有相同摘要的两个报文的难度:MD5是 264 是数量级的操作,SHA-1 是280 数量级的操作。因而,SHA-1 对强行攻击的强度更大。但由于SHA-1 的循环步骤比MD5 多(80:64)且要处理的缓存大(160 比特:128 比特),SHA-1 的运行速度比MD5 慢。

三、结束语
        MD5 和SHA-1 是单项散列函数的典型代表,它们广泛地应用在信息安全和数字签名等各个领域。从而有效地抗击了信息的主动式攻击,本文基于AVR 单片机实现了这两种算法,并结合汇编语言尽心了优化,取得了较好的效果。根据信息安全的要求的不同层次可以灵活选择这两种算法从而达到实际目的。

              MD5与SHA-1的比较
MD5SHA-1
分组长度 512bit 512bit
摘要长度 128bit 160bit
循环中的步骤 64 80
报文最大长度 无穷大 2^64-1
基本逻辑函数 4 4
结构行书 Litte-endian Big-endian

分享到:
评论

相关推荐

    MD5和SHA1校验码验证器

    MD5和SHA1校验码验证器 用于验证软件的MD5和SHA1值是否正确。

    微软官方md5/sha1校验工具

    通过命令行方式生成或校验文件的md5或sha1。部分网友反应windows 7下不可用。通过命令行方式生成或校验文件的md5或sha1。部分网友反应windows 7下不可用。通过命令行方式生成或校验文件的md5或sha1。部分网友反应...

    MD5和SHA1的算法

    日常生活中常用的两个HASH算法,MD5和SHA1

    md5+sha1摘要校验工具

    获取文件md5和sha1摘要值的工具,通过cmd命令操作获取,可以用来校验文件是否发生改变。

    MD5 SHA1 SHA256 的C语言源码

    MD5/SHA1/SHA256 纯C语言源码.支持增量计算. 包括测试程序与官方文档. 该代码我已按纯C语言基于接口编程方式封装,可以直接调用.有问题请联系我.

    MD5和SHA1的比较程序

    md5和sha1的比较程序,希望对你有帮助

    Java 中文件MD5和SHA1的比较

    Java 中文件的MD5和SHA-1的研究 Java中提供了一个类java.security.MessageDigest类是一种提供密码安全消息摘要如SHA-1和MD5功能的引擎类。不需要额外使用第三方组件,且支持超大文件。

    Hash函数MD5与SHA-1算法实现

    md5和sha-1算法代码及验证文件 在vc6.0调试运行无误,

    MD5值和SHA1值

    新版百度地图中申请key时所需要的MD5值和SHA1值的查看和获取步骤。

    MD5-SHA1-SHA256算法C源码

    MD5-SHA1-SHA256算法源码,C语言实现,并且有测试代码

    基于md5和sha1的以批处理方式实现的目录比较工具

    2:sha1 和 md5 的计算由 md5sum.exe 和 sha1sum.exe 完成,libiconv2.dll 和 libintl3.dll 是两个可执行文件需要的动态库; 3:sha1comv3.bat 和 md5comv3.bat 运行时会产生大量临时文件,这些文件由工具自动维护,...

    MD5 和 SHA1 工具

    可以计算文件 以及字符串MD5值,SHA1值 支持拖拉文件 以及命令行参数。

    md5+sha1 js文件.zip

    平时用的md5+sha1加密的js文件,用法: <script type="text/javascript" src="js/md5.js"> <script type="text/javascript" src="js/sha1.js"> var hash = hex_md5(name+" "+password); var date = new Date();//...

    计算 md5 sha1

    一个计算md5 sha1免费小程序,操作方便,只需鼠标拉动文件,计算值自动保存在当前目录下的MD5 SHA1.TXT 文件中,它还可计算目录下的所有文件的md5 sha1一个值,所以也可以比较二个目录是否完全相同。 此程序有自检...

    MD5,SHA1,CRC工具.rar

    pc端md5,SHA1,CRC32校验工具 拖到工具窗体中即可显示校验值,方便灵活,用于各种文件的数据校验解析,

    哈希算法MD5与SHA-1实现与比较

    vc6.0 软件上已测试,md5和sha-1算法代码及验证文件

    Hash_EN,MD5,SHA1,SHA256验证绿色小工具

    用于验证MD5,SHA1,SHA256的绿色小工具。

    WebService服务使用Md5和SHA1加密验证登陆

    在WebService使用Md5和SHA1加密技术对用户密码进行加密处理,从而增加用户安全性。登陆判断同样通过Md5和SHA1加密密码然后和数据库经过加密密码进行比较来(它们可都是二进制滴哦!)验证用户是否存在 很好滴东西 ...

    java实现的MD5和SHA-1加密源代码

    简单的对字符串进行MD5和SHA-1加密 简单的对字符串进行MD5和SHA-1加密 、简单的对字符串进行MD5和SHA-1加密 使用示例: ...2. Crypt.sha1("123456") = "7c4a8d09ca3762af61e59520943dc26494f8941b";

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

    MD5文件检验工具 SHA1文件检验工具 CRC32文件检验工具

Global site tag (gtag.js) - Google Analytics