JavaScript基础教程 用户登录明文传输密码问题如何解决

本文介绍了JavaScript实现用户登录时密码的MD5加密处理,通过前端JS加密,后端Java比较,确保密码安全传输。讲解了MD5加密的原理和步骤,并提供了相关代码示例。
摘要由CSDN通过智能技术生成

2018-09-17 来自0791

摘要:本篇教程介绍了JavaScript基础教程 用户登录明文传输密码问题如何解决,希望阅读本篇文章以后大家有所收获,帮助大家对JavaScript的理解更加深入。

本篇教程介绍了JavaScript基础教程 用户登录明文传输密码问题如何解决,希望阅读本篇文章以后大家有所收获,帮助大家对JavaScript的理解更加深入。

<

用户登录页面,获取到用户密码,用MD5加密,然后进行传输,服务器端获取的是一个加密过的密码。然后把从数据库里面获取的密码也用MD5加密,然后比较,验证登录。

为什么用这种方法呢,当时想了2个方案,一个是换成https服务器,然后购买一个证书(所有需要用钱的都要一层一层审批,我不知道审批下来后,我还有想做不),另一个就是今天要说的,javascript+ Java+md5

---------------------------------------------------------------------------------------------------前端------------------------------------------------------------------------------------------------------------

//MD5加密
   function encryptionPassword(){
  
  var hpassword=document.getElementById("cpassword").value;
  var hash=MD5(hpassword)
  document.getElementById("cpassword").value=hash.substring(22,32);
 }

MD5方法的md5.js 代码最后给出,有点多

 

---------------------------------------------------------------------------------------------------后台------------------------------------------------------------------------------------------------------------

把从数据库获得的密码用MD5加密

password.equals(StringUtil.getMD5Str(operator.getPassword()).substring(22,32))

StringUtil工具类中具体代码如下:

 

/**
  * MD5加密
  * @修改时间:2015-06-08
  * @修改作者:Wangj
  *
  */

public synchronized static final String getMD5Str(String str) {
  if (null == str) {
   str = "";
  }
  String MD5Str = "";
  try {

   // JDK 6 支持以下6种消息摘要算法,不区分大小写
     // md5,sha(sha-1),md2,sha-256,sha-384,sha-512

    MessageDigest messageDigest = MessageDigest.getInstance("MD5");
    messageDigest.update(str.getBytes());
    byte b[] = messageDigest.digest();
      int i;
      StringBuilder builder = new StringBuilder(32);
      for (int offset = 0; offset < b.length; offset++) {
          i = b[offset];
        if (i < 0)
         i += 256;
        if (i < 16)
         builder.append("0");
        builder.append(Integer.toHexString(i));
     }
    MD5Str = builder.toString();

    // LogUtil.println("result: " + buf.toString());// 32位的加密

  } catch (NoSuchAlgorithmException e) {   

     e.printStackTrace();

    }

     return MD5Str;

 }

 

最后是mds.js的代码

----------------

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值