把密码哈希了,就安全了?

很多网站保存密码的方式是把密码进行哈希化之后,然后保存进数据库。网上也一直再说哈希化的密码是无法破解的,确实按照哈希的原理肯定无法破解的。
因为哈希本来就不是加密,只是把文本进行了特殊的处理。
听说哈希之后,即使密码被获得了,用户账户也不会被破解,这是真的吗?难道对密码进行哈希就真的那么安全吗?
最近在研究微软的企业库,企业库提供了几种加密算法,其中有一种就有哈希算法。于是怀着对哈希之后密码无法破解的极度安全的崇敬之情,使用了哈希算法
作为用户密码的加密方式。
实验了几个用户名和密码之后,发现数据库中的密码确实都被哈希化了,那样的密码确实不好破解,于是就打算一直使用哈希算法。
无意中,我在数据库中把A用户的经过哈希的密码复制到B用户的密码字段上,然后我在页面登陆框中输入B用户的用户名以及A用户的密码,发现登陆成功。
由这点我想到,如果一个系统使用哈希算法对密码进行加密,这是不是一中破解的方法呢。
步骤如下:
1、首先注册此系统的一个用户获得用户名和自己的密码,系统的数据库中存的是你注册的用户名的密码,而且是经过哈希的。
2、好多系统在用户注册之前会对用户名进行检测,看看用户名是否可用,在此可通过此法获得其他人的用户名,或者你已经知道了一个你想破解的用户名。
3、这一步比较复杂,需要很高深的知识,或者你庆幸这个系统中存在一定的sql注入漏洞,或者你已经获得了这个系统的数据库(其实关键在这一步,不过
这一步也很难去实现。

4、通过sql语句把你想要破解的用户的密码更新为你注册的用户的密码。
5、进入登陆页面,输入你破解的用户的用户名和你的用户名的密码,不出问题,应该可以以那个账号进入系统了。

如果你要想使用此方法进行破解,你首先的能在系统的数据库上运行你的sql语句,这一点对待大多数的系统还是比较难的,不过如果对待能进入数据库的人员想破解,那就没办法了。

以上只是在使用哈希算法进行加密的时候的一点小小的遐想,大家不要妄自推测,不过还是提醒大家即使加密了,也要小心啊。

如果纯粹的使用Hash算法进行加密,如果真遇到以上情况,系统还是很危险的,有没有好的加密方法呢,那位能告知一下啊。

 

posted @ 2011-03-18 15:55  acles  阅读(5472)  评论(1编辑  收藏  举报