关于MD5加密,登录,随机码

1.用户登录时,用js对密码+随机码,进行md5,然后再传送到服务端.保证每次传送的字符串都不同,这样就算被窥探到信息,密码也不会被破.步骤如下:
在登录页面,先对输入密码进行MD5加密,再对随机码进行MD5加密,再把加密后的两个字符串拼起来,再进行一次MD5加密,传到服务端.服务端进行验证时,先取出DB中的密码,再从session中取出随机码,将随机码MD5后与从DB取出的密码拼成一个字符串,再与客户端传过来的比较,相同则登录成功.
客户端MD5加密的js包可到:http://pajhome.org.uk/crypt/md5/index.html下载.
js加密码方法:hex_md5("密码");需引入md5.js文件(在附件中)
服务端MD5加密的java类如下:
public class Md5 {
public static String encrypt(String source){
StringBuffer sb = new StringBuffer("");
try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.update(source.getBytes());
byte[] b = messageDigest.digest();
sb = new StringBuffer(2 * b.length);
for(int i = 0 ; i < b.length ; i ++){
int low = (int)(b[i] & 0x0f);
int hight = (int)((b[i] & 0xf0) >> 4);
sb.append(Integer.toHexString(hight));
sb.append(Integer.toHexString(low));
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

return sb.toString();
}
}

2.新增用户,修改密码,都是在客户端先把密码进行MD5加密后,再传到服务端.

这样做能保存登录时足够安全(中间人攻击除外),但是新增用户,修改密码时,如果用户加密后的密码被窃取,依然存在隐患.
3.随机码用kaptcha(或jcaptcha),下载地址为:http://code.google.com/p/kaptcha/


附:javar 的MD5加密简便方法:
package org.apache.commons.codec.digest;
String passwordMd5 = DigestUtils.md5Hex("123456");
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值