前端md5加密密码时浏览器的自动完成功能的问题


我在前端加密密码的方式是:


 $("form").submit(function() {
    $("#password").val($.md5($("#password").val()));
    return true;
});

但是这样的话浏览器就会自动保存加密后的密码,等到下一次登录的时候会变成相当于两次md5加密……这个该怎么解决?

加密 前端 浏览器 md5 JavaScript

真青驴霸王 11 years ago

这个整过, 和 @瓶子 的答案类似, 不过有细节不一样.

注意, 真正提交的是隐藏的 加密的password1; 而原来的password不会提交(因为设置了disabled=true, 否则明文password还是会被上传!), 但是浏览器会记住原来的password. 在firefox中测试正常.


 <form>
  <input type="password" name="password" id="password"/>
  <input type="hidden" name="password1" id="password1"/>
  <input id="s" type="submit" value="Submit"/>
  </form>
<script>
$(function(){
  $("form").submit(function() {
    var v=$.md5($("#password").val());
    $("#password1").val(v);
    $("#password").attr("disabled", "true");
    return true;
  });
});
</script>

坑爹了这是 answered 11 years ago

Your Answer