我在前端加密密码的方式是:
$("form").submit(function() {
$("#password").val($.md5($("#password").val()));
return true;
});
但是这样的话浏览器就会自动保存加密后的密码,等到下一次登录的时候会变成相当于两次md5加密……这个该怎么解决?
我在前端加密密码的方式是:
$("form").submit(function() {
$("#password").val($.md5($("#password").val()));
return true;
});
但是这样的话浏览器就会自动保存加密后的密码,等到下一次登录的时候会变成相当于两次md5加密……这个该怎么解决?
你这样加密后有神么效果呢?不在网络传输明文密码?但是别人可以直接md5密码直接向后端发送啊? 我的方式是用RSA用公钥加密,服务端用私钥解密。 此外@brayden 的方法是正确的
建议你先了解一下浏览器的原理
可以查看这篇文章,有详细介绍
http://www.qixing318.com/article/the-browsers-rendering-principle-introduction.html
接下来可以看一下这篇关于前端加密的文章:
http://www.qixing318.com/article/how-the-browser-end-encryption.html
<input type="password" autocomplete="off" /> <!--关闭表单记住功能 -->
<form autocomplete="off"></form> <!-- 禁用整个form -->
好像我理解提问者的问题了= = 你是把值动态赋值的,然后提交的表单。这样浏览器肯定会能记住MD5后的密码的。其实吧,你要想不让浏览器记住。= =亲,请尝试ajax……而不是动态赋值后还是提交表单。
10 回答11.1k 阅读
6 回答2k 阅读✓ 已解决
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
这个整过, 和 @瓶子 的答案类似, 不过有细节不一样.
注意, 真正提交的是隐藏的 加密的password1; 而原来的password不会提交(因为设置了disabled=true, 否则明文password还是会被上传!), 但是浏览器会记住原来的password. 在firefox中测试正常.