当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 以下为转帖内容 MD5算法研究 2002年11月20日 15:47 综述 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的...
 

 

    摘要: 在进行系统设计的时候用户要求对各文件能够实现组合条件的查询和统计,开发之初我选择了notes自身提供的综合查询表单$$search form来实现,但在用户使用了一段时间发现,采用$$search form来进行组合条件查询时常常会搜索到许多并不满足条件的文档或者搜索到的文档根本就不知道是什么,为了解决这个问题,我决定写代码来实现组合条件查询,下面就来讲讲实现的过程。 首先建立一个表单(fsea......
 ·aop c#在行动    »显示摘要«
    摘要:看过一本书,题目是《ascpectj in action》,正好这一段手上的项目搞一段落,所以有一点点空暇,决定写一些东西。 aop是aspect-oriented programming的简写。曾经为这个aspect的中文翻译伤透了脑筋,还有一个相似的aop,那是attribute-oriented programming,于是,有人译作面向方面编程,后者则是面向特性编程。面向特性编程可以说得过......


MD5算法研究
以下为转帖内容

  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提交. 【程序编程相关:JavaScript实现的Base64编

md5算法研究 2002年11月20日 15:47 综述 【推荐阅读:利用CSS控制打印

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

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

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

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


...   下一页
 ·java新手入门的30个基本概念    »显示摘要«
    摘要:java概述:  目前java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的开发.java于其他语言所不同的是程序运行时提供了平台的独立性,称许可以在windows,solaris,linux其他操作系统上使用完全相同的代码.java的语法与c++语法......
» 本期热门文章:

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