前端MD5加密【单向加密】

时间:2022-04-25 16:26:51

密码存储的方式:

密码该如何存储呢?按照安全性由低到高,有这样几种选择:

1.密码名文直接存储在系统中

2.密码经过对称加密后再存储

3.密码经过非对称加密后再存储

步骤:

1.用户端:用户提交用户名和密码
2.浏览器端:JS【MD5加密】
3.服务端:提交加密后的密码,二次加密 登录成功
 
代码:
 (1)没有name的表单不会提交,这样避免密码由用户输入的密码,变成32位"*", 给客户看到
 
<form action="" method="post" class="form-inline" id="from-test" onsubmit="return checkInput()"> <input type="text" id="username" name="username"> 姓名 <br> <input type="password" id="password"> 密码 <br> <input type="hidden" id="password_md5" name="password"> <button type="submit">Submit</button> </form>
 
function checkInput() { var password_input = document.getElementById('password'); var password_md5 = document.getElementById('password_md5'); // set password password_md5.value = md5(password_input.value); return true; }
 
       2,使用ajax异步,对表单进行验证
  1. $('#btn a').click(function () {
  2. if (!$('#loginName').validatebox('isValid')) {
  3. $('#loginName').focus();
  4. } else if (!$('#password').validatebox('isValid')) {
  5. $('#password').focus();
  6. } else {
  7. //md5加密传输
  8. var salt="{*nbsjt*asar#cdxd#}";
  9. var pwd=$('#password').val();
  10. var md5Pwd=$.md5(pwd+salt);
  11. $.ajax({
  12. url:'login.manager',
  13. type:'post',
  14. data:{
  15. loginName:$('#loginName').val(),
  16. password:md5Pwd,
  17. },
  18. beforeSend:function(){
  19. $.messager.progress({
  20. text:'正在登录中......',
  21. });
  22. },
  23. success:function(data,response,status){
  24. $.messager.progress('close');
  25. if(data=="success"){
  26. location.href = 'main.manager';//进入后台首页
  27. }else{
  28. $.messager.alert('登录失败!', '用户名或密码错误!', 'warning', function () {
  29. $('#password').select();
  30. });
  31. }
  32. }
  33. });
  34. }
  35. });

--------------------- 本文来自 若兰轻忆 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/ruolanqingyi/article/details/80831659?utm_source=copy