dabb
2005-08-23 14:37

倒,你丫牛。居然会解密md5.

md5本来就是一种单向算法,何来解密。

至于“破解”,也说不太对。我大概看过相关资料以前,好象只是理论上可能通过“碰撞”机制来产生一样的加密后的密码。至于密码原文,还是解密不出来的。我不是数据系的,这么高深的理论具体当然不会。不过知道这些应该对我们的应用也够了。这是一个相关link :

http://www.linuxfans.org/nuke/modules.php?name=News&file=article&sid=2390

dabb
2005-08-23 14:39

通过ssl方式来传递数据也是一种比较可靠的选择,如果你的数据特别敏感的话。

dabb
2005-08-23 15:31

我好象说错了。md5是通过“碰撞”什么的机制可以回朔到一个密码原文,这个密码通过md5加密后可以产生和原先的密码一样的序列,但不一定是和原先密码一样。好象是这样的,有兴趣大家可以看看上面的那篇文章

superbible
2006-09-12 11:25

MD5是单向散列函数,可对任意大小的数据产生一个定长的字符串(比如128bit etc.),以产生数字指纹,用途不是加密,这个是通常的误解。

其用途跟人的指纹一样,指纹可以用少的信息来唯一的识别一个人,而数字指纹可以用这很少的数据来识别一段任意大小的数据。它可以保证一段数据只要发生任何改变,所产生的数字指纹重复的可能性很小。

至于用在密码“加密”上的原理是,初始时将密码的MD5值放入数据库,验证时,将输入的密码再产生MD5值,与数据库里的比对,一致则通过。

好处是,不能由数据库里的值倒推出密码的原文,即数据库管理员或能(访问整个数据库的黑客)等人无法获得密码原文。(当然要是人家能无限制的写数据库,就没有办法了。:) )

至于,网络上的安全问题,总是跟方便和价格问题矛盾的。一般简单而较为安全的方法就是在应用服务器上启用SSL功能,(tomcat支持),则所有网上传输的内容被应用服务器和浏览器自动加密。对于程序开发是透明的。

2Go 上一页 1 2