当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: -摘抄于网络MD5算法研究 md5的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经m...
 

 

 ·【c#】整数类型的判断!    »显示摘要«
    摘要: 本人在应用c#做项目的时候有感于,textbox的文本框中的数值类型的判断不方便,在c#bbs中查找是否有这样的类或函数,可惜我失望了!于是凭着愚钝的脑袋写了一个,测试情况还很满意,拿让网友指点一二,如果有比较好的,望不惜赁教!shixiang9076@sina.com。using system;using system.drawing;using system.collections;usin......
 ·portlet规范介绍    »显示摘要«
    摘要: portlet api参考实现的秘密概要 在stefan hepper和stephan hesmer的portlet系列文章的第二部分中,作者把着笔点从portlet api的基础概要介绍转移到了portlet api的参考实现(ri reference implementation也就是pluto)的细节描述。作者还提供了一系列portlet的实例来说明怎样扩展portlet api的标......


MD5算法研究

-摘抄于网络

【程序编程相关:权限管理的一点思路

【推荐阅读:InstallShield Develo

md5算法研究 【扩展信息:IBM p630 采用磁带恢复AIX5.

  md5的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science与rsa data security inc的ronald l. rivest开发出来,经md2.md3与md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要.虽然这些算法的结构或多或少有些相似,但md2的设计与md4与md5完全不同,那是因为md2是为8位机器做过设计优化的,而md4与md5却是面向32位的电脑.这三个算法的描述与c语言源代码在internet rfcs 1321中有详细的描述(http://www.ietf.org/rfc/rfc1321.txt),这是一份最权威的文档,由ronald l. rivest在1992年8月向ieft提交.

  rivest在1989年开发出md2算法.在这个算法中,首先对信息进行数据补位,使信息的字节长度是16的倍数.然后,以一个16位的检验与追加到信息末尾.并且根据这个新产生的信息计算出散列值.后来,rogier与chauvaud发现如果忽略了检验与将产生md2冲突.md2算法的加密后结果是唯一的--既没有重复.

  为了加强算法的安全性,rivest在1990年又开发出md4算法.md4算法同样需要填补信息以确保信息的字节长度加上448后能被512整除(信息字节长度mod 512 = 448).然后,一个以64位二进制表示的信息的最初长度被添加进来.信息被处理成512位damg?rd/merkle迭代结构的区块,而且每个区块要通过三个不同步骤的处理.den boer与bosselaers以及其他人很快的发现了攻击md4版本中第一步与第三步的漏洞.dobbertin向大家演示了如何利用一部普通的个人电脑在几分钟内找到md4完整版本中的冲突(这个冲突实际上是一种漏洞,它将导致对不同的内容进行加密却可能得到相同的加密后结果).毫无疑问,md4就此被淘汰掉了.

  尽管md4算法在安全上有个这么大的漏洞,但它对在其后才被开发出来的好几种信息安全加密算法的出现却有着不可忽视的引导作用.除了md5以外,其中比较有名的还有sha-1.ripe-md以及haval等.

  一年以后,即1991年,rivest开发出技术上更为趋近成熟的md5算法.它在md4的基础上增加了"安全-带子"(safety-belts)的概念.虽然md5比md4稍微慢一些,但却更为安全.这个算法很明显的由四个与md4设计有少许不同的步骤组成.在md5算法中,信息-摘要的大小与填充的必要条件与md4完全相同.den boer与bosselaers曾发现md5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了.


...   下一页
 ·用数组移动字符串    »显示摘要«
    摘要:这是2个对字符串处理的互逆函数功能:移动字符串用发:arymoveleft("字符串",移动的个数)例:dim strgstrg="123456789"strg=arymoveleft(strg,2)结果:strg="345678912"public function arymoveleft(str, count) if count = ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE