首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript+Java 兑现MD5加密登录密码

2012-09-20 
javascript+Java 实现MD5加密登录密码客户说我的***系统登录时密码是明文传输,不高兴,我对HTTPS不太了解,

javascript+Java 实现MD5加密登录密码

客户说我的***系统登录时密码是明文传输,不高兴,我对HTTPS不太了解,那我用MD5加密下,虽然不能保证万无一失,但也好过明文传输嘛。

说下大概的过程:打开登录的JSP页面时,生成一个随机字符串,放在session里面,以便后台也可以拿到。客户输入用户名和密码点击"登录"时,拿到密码和随机字符串,拼接在一起后利用js生成MD5字符串。然后用js把那个password的value改成MD5字符串,再提交表单。

后台拿到随机字符串和用户名和MD5字符串,通过用户名到数据库查询密码,用密码和随机字符串拼接在一起生成MD5字符串,用生成的MD5字符串和前台传过来的MD5字符串进行匹配,如果一致就通过验证。

------------------------------前台-------------------------------------

jsp页面生成随机数:

        /**     * md5加密(ITS)     * @param str     * @param charSet     * @return     */    public synchronized static final String getMD5Str(String str,String charSet) { //md5加密MessageDigest messageDigest = null;  try {  messageDigest = MessageDigest.getInstance("MD5");  messageDigest.reset(); if(charSet==null){messageDigest.update(str.getBytes());}else{messageDigest.update(str.getBytes(charSet));  }} catch (NoSuchAlgorithmException e) {  log.error("md5 error:"+e.getMessage(),e);} catch (UnsupportedEncodingException e) {  log.error("md5 error:"+e.getMessage(),e);}  byte[] byteArray = messageDigest.digest();  StringBuffer md5StrBuff = new StringBuffer();  for (int i = 0; i < byteArray.length; i++) {              if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)  md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));  else  md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));  }  return md5StrBuff.toString();  }

上面的MessageDigest所在的包是:  java.security.MessageDigest



热点排行
Bad Request.