修改MD5加密 提高网站安全

 

发表文章


修改MD5加密 提高网站安全
2006-08-28 16:23:55
  

特别说明:此种改变只能用于在刚开始建站时才可,如果你中途改变的话就会出现问题。 

  也许提到MD5时大家都很熟,但你真的是这样吗?了解其是如何进行散列的实际过程吗?虽然我们一般的人是不用这样去寻根问底,要用的时候直接去下载别人已编好的程序用就得了。

     由于算法大多的人都是知道的,所以现在网上有很多破解MD5散列值的工具,但我们搞安全的完全可以发挥我们的想象力充分地调动自己的积极性,是否想过自己也重改造一个MD5的算法呢?让现在所有的破解MD5的工具下课呢?因为MD5在我们网络中实在是用得太广了,各网站要保存用户的资料,但明文保存时又怕万一被哪个攻击者攻入网站,下载了数据库,所以我们常用MD5进行散列各种重要的资料。但是现在有好多工具是可以进行简单的破解的。

      我们先来了解一下MD5这个散列算法,然后我再一个例子说明如何提高了网站的安全性。

  下边我只是简单的说明,x与y的所在空间就不作介绍了(x∈A,y∈B)。我们来看看一个散列算法一般是要满足下面三个条件之一:

  1、 H是一个单向函数。即对几乎所有的H(x)=y,已知y要求x,则在计算上是不可行的。

  2、 已知x,找x′∈A,使H(x)=H(x′)在计算上是不可能的,这也就是弱无碰撞性。

  3、 找一对x和x’, 而x≠x’,使H(x)=H(x′)在计算上也是不可行的,这也就是强无碰撞性。

  这样就称为安全保密的Hash函数。下边是对消息的散列过程:

  由上边的表大家也许看到了左边是不是要求输入一个初始向量IV,这也就是今天我说明的关键地方,这个初始向量要MD5算法中是由A、B、C、D四个缓冲区寄存器存放的,而每一个寄存器是32比特。它们的初始值是:

  a = 0x67452301

  b = 0x EFCDAB89

  c = 0x 98BADCFE

  d = 0x 10325476

  在这我们可以看到这四个16进制的值,这也可看做是一种初始的种子,如果大家对MD5的算法过程清楚的话,我们可知在这过程在主要是一些异或、求模等的运算,对每一个分组512比特消息进行处理的,而每一分组都进行4*16次的运算,所以我有个大胆的想法,只是我们把初始值进行稍微的改变的话,那不就是变成另外的MD5散列算法了吗!我们知道A、B、C、C四个值共是16进制的4*8=32位,那么我们都可计算可能被破解的概率空间,如果动得更多的话,那被破解的可能性也就越小。只要我们改变一位的话,而同时我们也不必改动算法的其它部分,从而也不会对我们的程序进行多大的变动。是不是就找到一种新的散列算法了呢,其实,对散列算法有研究的就可知,美国的信息压缩标准SHA也是与MD5有点相似(主要是指思路)。

  现在介绍了这些有关的MD5知识后,我们来看看如何修改我们网站管理程序的源码,这里我以国内有名的动网论坛DVBBS7.0说明。

  我们都知道动网论坛的用户的数据如密码,提问的问题的答案是以MD5散列的,通常攻击者就是下载了数据库来进行破解而得到管理员的密码的,默认的是放在这个路径下的:bbs/data/dvbbs7.mdb 而我们一般是采用的是修改数据库的名字,同时相应的修改一下conn.asp中的相关设置。

  现在我们的方法是你找到这个文件/inc/md5.asp。这个页面就是我们进行散列处理的程序,只是在这修改一下的话,我们就产生了自己的新MD5散列算法。然后以记事本的方式打开它,找到这个地方。

  看到了吧,a、b、c、d这四个值了吧,就是我们前边谈的哟,看你如何改了。随你的便了吧!但我建议是你最好改一位就可了,还是尽量少改吧。如你可把a = 0x67452301改为a = 0x67452300这样你就用了一个与众不同的MD5算法呢,这样,哪怕就是你的数据库被下载了,你也可以放心的用了。让他们的破解MD5的工具见鬼去吧!

  但是我要说明的是,了解MD5过程的人可能会问,你这样改变会影响操作吗?这个问题专家可能都很难把它论证。同时我给大家要说的是,MD5是征对所有的信息的,而我们这样的改变,仅仅用在一个网站上的几千个,上万个用户的话,应该是没有多大问题的,但是我们要从数学上证明它这个改变后也能满足文章开始时说的三个条件的话,确实有一定的难度,这就让读者去讨论一下吧。

ps:原始的md5加密因子:

a = &H67452301
    b = &HEFCDAB89
    c = &H98BADCFE
    d = &H10325476

时间: 2024-12-02 15:05:19

修改MD5加密 提高网站安全的相关文章

MD5加密算法在网站数据库安全方面的应用与查表攻击

编者按:本文作者为北师大的大三学生张俏,女Geek,在CSDN等各大网站的用户数据被泄露之后,她就MD5加密问题写下此文,发表了自己的看法,如果有读者想要跟作者进一步探讨,可以在新浪微博@阿豆拉. MD5为现在应用最广泛的Hash算法之一,在1992年由MIT 的Ronald L. Riverst提出,由MD4演化而来.该算法广泛应用于互联网网站的用户数据加密,能够将用户密码加密为128位的长整数.数据库并不明文存储用户密码,而是在用户登录时将输入密码字符串进行MD5加密,与数据库中所存储的MD

asp MD5加密方式使用建议_应用技巧

1.修改MD5算法重的4个常数,这是最捷径的作法,其特点是加密后的数据和加密前非常类似,但是不会被破解 2.多次加密,对MD5加密过的数据进行二次或三次加密,或者在每次加密后从重抽取部分值进行在加密,比如"我爱你",加密后"1E6986ACEC7BAE541AB7B37B99260DAF",我们可以取任意一部分进行再加密,比如取前18位"1E6986ACEC7BAE541"进行再加密得到"E3E0A1F51038849583263FE1

对MD5加密方式使用者的建议_应用技巧

根据MD5算法的特点,我们可以把MD5加密过程看作是一个函数调用过程,建议必须做如下方式修改,这样可以保证一定程度上你的网站用户和数据安全:  1.修改MD5算法重的4个常数,这是最捷径的作法,其特点是加密后的数据和加密前非常类似,但是不会被破解  2.多次加密,对MD5加密过的数据进行二次或三次加密,或者在每次加密后从重抽取部分值进行在加密,比如"我爱你",加密后"1E6986ACEC7BAE541AB7B37B99260DAF",我们可以取任意一部分进行再加密,

asp MD5加密方式使用建议

1.修改MD5算法重的4个常数,这是最捷径的作法,其特点是加密后的数据和加密前非常类似,但是不会被破解 2.多次加密,对MD5加密过的数据进行二次或三次加密,或者在每次加密后从重抽取部分值进行在加密,比如"我爱你",加密后"1E6986ACEC7BAE541AB7B37B99260DAF",我们可以取任意一部分进行再加密,比如取前18位"1E6986ACEC7BAE541"进行再加密得到"E3E0A1F51038849583263FE1

iOS MD5加密

哈哈!先上理论篇: MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改.比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如: MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461 这就是tanajiya.tar.gz文件的数字签名.MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个

为大家经常为md5加密过的常用admin,admin888,0000密码_基础应用

admin 加密后代码: 16位加密(7a57a5a743894a0e) 32位加密(21232f297a57a5a743894a0e4a801fc3)  admin888 加密后代码: 16位加密(469e80d32c0559f8) 0000 加密后代码: 16位加密(14474e4033ac29cc) 32位加密(4a7d1ed414474e4033ac29ccb8653d9b)  知道了有什么用? 针对一些网站程序后台无法登陆的情况,如果是因为后台管理用户与密码错误所致,可以利用这个来解决

破解md5加密的方法

我们知道md5加密是不可逆转的,但是要破解md5的加密也很简单. 网上也有很多在线的破解.既然是不可逆转的,那么网上的那些破解是怎么来的呢? 原因很简单,就是使用穷举法来进行破解. 如:我们计算出键盘上所有字符的组合的md5,将加密前后的字符串分别存入数据库中: 然后拿你的md5加密后的字符串进行查询得出加密前的字符串.这就是在线破解的奥秘. 但是这种破解方法也有局限性.如:我对单一一个字符串进行多次的md5加密,那么我们破解就要反复的进行穷举. 如果你不知道字符串被md5加密了多少次,那么就要

SEO培训学院总结的10个提高网站用户体验的方面

谈到提高网站用户体验,很多SEOER都一脸盲然.只知道用户体验对于SEO优化排名有利,但真正讲到如何去提高网站用户体验,脑子却一片空白.其实网站用户体验的提高,可以从很多方面去做,下面就是seo培训学院总结的提高网站用户体验的10个方面,供seoer参考. 1.网站的logo图片.很多seoer都喜欢把自己网站的logo图片做的很大来吸引眼球,这种做法并不恰当.网站的logo图片只是网站名称的标识,不能喧宾夺主.网站logo图片应做到尺寸合适,图像清晰,数据量小. 2.网站应该有在线搜索功能.一

SEO优化者如何养成良好习惯提高网站排名

国内的SEO优化者目前的状况就是:为了眼前利益放弃长远利益.我们可以发现现在很多网站的优化现象都只能够满足当前的发展,而对于几个月后甚至几周之后的发展却没有多少优化者会在意,这说明80%的网站优化者还需要养成良好的习惯去帮助网站提升排名,而不是靠不作为与乱作为手段去提升网站的排名. 网站的排名提升并不是三天两天的事情,如果不能够持之以很.循序渐进那么你的网站优化就有问题,作为一名SEO优化者应当养成良好的习惯提高网站排名,而不是靠一些不正规的手段去谋取排名,那么作为一名SEO优化者应该养成哪些良