算法与模式
MuteG
资深码农
展开
-
MD5算法说明【来自百度百科】
MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一 个任意长度转载 2007-03-13 11:09:00 · 996 阅读 · 0 评论 -
看看Md5自然产生重复的概率
看看Md5自然产生重复的概率 选择自 skyMountain 的 Blog问题:假设有十万个不同的文件,每个文件对应于一个MD5。这十万个MD5中,存在两个相同的MD5的概率是多大?答: MD5是128位hash码(4个整数,每个整数4个字节)。我们假设它的计算结果是足够随机和足够分散的。因此,一个文件的MD5码,有2的128次方(用2e128表示,下面都用这种方转载 2007-03-13 11:11:00 · 13830 阅读 · 0 评论 -
使用MD5变换算法防穷举(冲撞)破译密码
使用MD5变换算法防穷举(冲撞)破译密码 选择自 Purpleendurer 的 BlogMD5是在Web应用程序中最常用的密码加密算法。由于MD5是不可逆的,因而经过MD5计算得到后的密文,不能通过逆向算法得到原文。 回顾在Web应用程序中使用MD5加密文本密码的初衷,就是为了防止数据库中保存的密码不幸泄露后被直接获得。但攻击者不但拥有数据量巨大的密码字典, 而且建转载 2007-03-13 11:13:00 · 1084 阅读 · 0 评论 -
画直线算法
画直线算法原文地址: 画直线算法 前段时间做了一下光栅直线生成算法的研究,并且在VC下实现了DDA算法、Bresenham算法、对称算法、两步算法、及四步算法。这里给个总结,希望和大家交流。一 总述 主要研究的算法主要有DDA算法、Bresenham算法、对称算法、两步算法、及四步算法,此外还对自适应多步位移码画线算法进行了一定研究。其中,DDA、转载 2007-03-13 17:08:00 · 3371 阅读 · 1 评论 -
Bresenham高效画线算法
Bresenham高效画线算法原文地址 Bresenham高效画线算法 画线的算法不少,但要作到高速、简单并不容易。斜率相乘法是最简单的方法之一,但计算每个点均要花费不少时间用于乘、除法运算;下面介绍的是Bresenhams高效画线算法,对每个点的坐标计算只要加、减法就能完成。 简化算法用伪Pascal语言描述如下:procedure DrawLine(x1, y1, x2转载 2007-03-13 17:05:00 · 1210 阅读 · 0 评论 -
正则表达式30分钟入门教程(第二版)
正则表达式30分钟入门教程(第二版)作者:deerchao 来源:unibetter大学生社区 转载请注明来源 本文第一版本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程别 被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并不像你想像中的那么困难。当然,如果你看完了这篇教程之后发现自己转载 2007-03-27 13:23:00 · 832 阅读 · 0 评论 -
代码重构简介
一.重构原则1.重构的定义重构(名词):对软件内部结构的一种调整,目的是在不改变"软件之可察行为"前提下,提高其可理解性,降低其修改成本.重构(动词):使用一系列重构准则(手法),在不改变"软件之可察行为"前提下,调整其结构.两种定义都强调是在不改变"软件的外部行为"前提下,不改变"软件之可察行为"就是说让修改不影响外部使用程序(程序员),在个外部来看,程序的行为和结转载 2007-05-08 15:30:00 · 1097 阅读 · 2 评论