黑客怎么会知道用户名abcd 和密文?

解决方案 »

  1.   

    客户端不需要加密
    只需要按正常的用户名和密码登入就可以了。然后服务器端,对密码执行 md5(md5(密码)+salt) 操作,生成加密后的密码。salt从数据库中获取。
    再与数据库中加密的密码比对。
    相同则登入成功,否则登入失败。这种做法的好处是,即使数据库被黑客进入了,也不能知道用户的明文密码。
      

  2.   

    服务端的密码是这么比较的if ($row['pwd'] == md5($_POST['pwd'])){
    //
    }
    就算别人知道MD5之后的密码,但是来到服务端,又需要再加密一次的,或者加密多次再比较。
      

  3.   

    黑客即使黑进你的数据库,获得了你的会员的用户名与加密过的密码,因为md5的加密基本上是不可逆的,所以黑客是无法调用你已知的服务实现登陆操作的。但是一层md5加密也不是很安全,很多网站都提供md5的解密。建议多次md5加密或者添加你自定义的字符串然后在md5加密(md5(user_passwd.your_defined_string))。