客户端JS代码实现的是 服务器实现的是
1.向系统请求一个随机数 x (可用AJAX) 1.产生一个随机数 x,放入session
2.产生一个随机密码 enPwd1 = MD5(pwd+ x)
3.登陆请求 2.取DB中密码 dbPwd(和JS中的pwd相同) 和session中的x 并计算:enPwd2 = MD5(dbPwd + x)
3.比较 enPwd1 和 enPwd2 是否相同
注: 1.加密过程采用不可逆算法.
2. pwd和dbPwd 可能已经是密文,只要求相同.
3. 随机数x的复杂程度和密码安全有关,同时对尝试登陆次数进行限制.
感觉采用这种机制,在网络传输中应该相当的安全了吧. 并且成本很低..话说回来,密码安全问题主要出现在哪个步骤? 应该是输入的时候吧! 键盘监听.