欢迎光临

木子屋

标题: (MD5)对用户密码进行加盐处理[转]

作者: dnawo

日期: 2016-10-10 10:14 PM

分类: Web编程

内容: 直接对用户密码进行MD5处理后，反向解密确实难度很大，但还是可以找出破绽的，请看下图：
如果名为李自成的用户可以查看数据库，那么他可以观察到自己的密码和别人的密码加密后的结果都是一样，那么，别人用的和自己就是同一个密码，这样，就可以利用别人的身份登录了。
那么我们以前的加密方法是否对这种行为失效了呢？其实只要稍微混淆一下就能防范住了，这在加密术语中称为“加盐”。具体来说就是在原有材料（用户自定义密码）中加入其它成分（一般是用户自有且不变的因素），以此来增加系统复杂度。当这种盐和用户密码相结合后，再通过摘要处理，就能得到隐蔽性更强的摘要值。下面请见代码：
复制内容到剪贴板 程序代码// 对密码进行加盐后加密，加密后再通过Hibernate往数据库里存
String changedPswd=DigestUtils.md5Hex(name+pswd);
就是这样简单，上面代码中盐就是用户名，可以的话还可以用用户注册时的邮件，注册时间等非空信息（如果是空信息这个加盐处理会失效）。
下面是数据库中两个用户的记录，他们的实际登录密码都是123456，但光看用户记录是完全看不出来的。这下别有用心的人打开数据库看到的密码都完全不一样，他以前的手段就失效了。
[1].原文链接：http://www.blogjava.net/heyang/archive/2010/11/28/339233.html

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.706 ms

返回

标题: (MD5)对用户密码进行加盐处理[转]

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.706 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.736 ms

返回