如何通过三次hex_md5加密实现双向md5加密的密码安全传输?

2026-04-06 10:381阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计461个文字,预计阅读时间需要2分钟。

如何通过三次hex_md5加密实现双向md5加密的密码安全传输?

由于项目需求,我们采用了Thinkphp框架实现了一个双向MD5加密的登录功能。这里不再详细说明后端PHP代码,仅展示前端加密过程:前端提交的密码通过三次hex_md5加密,即`hex_md5(hex_md5(hex_md5(adminUserPass)))`。

因项目需要结合Thinkphp做了一个双向md5加密的登录,这里后台php代码就不说了,贴一下前端加密提交密码
数据库存入的两次md5加密的密码,前端提交的是hex_md5(hex_md5(hex_md5(adminUserPass))+adminUserVer),php部分也同样只需要把查询出来的密码加上验证码和前端提交上来的密码进行比对,如果成功则登录成功

1.[代码][JavaScript]代码

/* ajax 提交 */ $(function(){ var verifyimg = $("#verify_login").attr("src"); /* 刷新验证码*/ $(document).on("click",'#verify_login',function(){ $("#verify_login").attr("src", verifyimg+'&random='+Math.random()); }); /*QRCode Enter to check*/ $("#ver").keydown(function(event){ if(event.keyCode==13){ check_submit(); } }); /* 触发提交事件 */ $("#submit").click(function(){ check_submit(); }); /*check and submit*/ function check_submit(){ var adminUserName = $.trim($("#name").val()); var adminUserPass = $.trim($("#pass").val()); var adminUserVer = $.trim($("#ver").val()); if(adminUserName=="" || adminUserName=="undefined"){ $("#msg").css('display', 'block'); $("#msg").html(' 请输入账号!'); return false; }else if(adminUserPass=="" || adminUserPass=="undefined"){ $("#msg").css('display', 'block'); $("#msg").html(' 请输入密码!'); return false; }else if(adminUserVer=="" || adminUserVer.length!=4){ $("#msg").css('display', 'block'); $("#msg").html(' 请填写右侧四位验证码!'); return false; }else{ /* ajax 提交 */ ajaxSubmit(adminUserName, hex_md5(hex_md5(hex_md5(adminUserPass))+adminUserVer), adminUserVer); } } /* ajax提交数据 */ function ajaxSubmit(userName, userPass, userVer){ $("#msg").hide(); $.ajax({ type: 'POST', dataType:'JSON', url: "Login/login", data: 'username='+userName+'&password='+userPass+'&ver='+userVer, success: function(data){ var jsonObj = data; if(jsonObj.status==1){ $("#msg").css('display', 'none'); location.href='Index/index'; }else{ $("#msg").css('display', 'block'); $("#msg").html(' '+jsonObj.info); $("#ver").val(""); $("#verify_login").attr("src", verifyimg+'&random='+Math.random()); } }, error : function() { $("#msg").css('display', 'block'); $("#msg").html(' 系统繁忙,请稍后再试!'); } }); } /* 判断浏览器,如果移到本js的第三行,会发现无法继续操作(谷歌浏览器除外) */ var browserType = navigator.userAgent.toLocaleLowerCase(); //alert(browserType); //chrome if((/chrome/i.test(browserType) && /webkit/i.test(browserType) && /mozilla/i.test(browserType))==false){ $("#msg").show(); $("#msg").html(' 为了更好的操作,请更换谷歌浏览器!<a href="dlsw.baidu.com/sw-search-sp/soft/9d/14744/ChromeStandalone_47.0.2526.106_Setup.1450323126.exe">点此处下载</a>'); return false; } });

如何通过三次hex_md5加密实现双向md5加密的密码安全传输?

本文共计461个文字,预计阅读时间需要2分钟。

如何通过三次hex_md5加密实现双向md5加密的密码安全传输?

由于项目需求,我们采用了Thinkphp框架实现了一个双向MD5加密的登录功能。这里不再详细说明后端PHP代码,仅展示前端加密过程:前端提交的密码通过三次hex_md5加密,即`hex_md5(hex_md5(hex_md5(adminUserPass)))`。

因项目需要结合Thinkphp做了一个双向md5加密的登录,这里后台php代码就不说了,贴一下前端加密提交密码
数据库存入的两次md5加密的密码,前端提交的是hex_md5(hex_md5(hex_md5(adminUserPass))+adminUserVer),php部分也同样只需要把查询出来的密码加上验证码和前端提交上来的密码进行比对,如果成功则登录成功

1.[代码][JavaScript]代码

/* ajax 提交 */ $(function(){ var verifyimg = $("#verify_login").attr("src"); /* 刷新验证码*/ $(document).on("click",'#verify_login',function(){ $("#verify_login").attr("src", verifyimg+'&random='+Math.random()); }); /*QRCode Enter to check*/ $("#ver").keydown(function(event){ if(event.keyCode==13){ check_submit(); } }); /* 触发提交事件 */ $("#submit").click(function(){ check_submit(); }); /*check and submit*/ function check_submit(){ var adminUserName = $.trim($("#name").val()); var adminUserPass = $.trim($("#pass").val()); var adminUserVer = $.trim($("#ver").val()); if(adminUserName=="" || adminUserName=="undefined"){ $("#msg").css('display', 'block'); $("#msg").html(' 请输入账号!'); return false; }else if(adminUserPass=="" || adminUserPass=="undefined"){ $("#msg").css('display', 'block'); $("#msg").html(' 请输入密码!'); return false; }else if(adminUserVer=="" || adminUserVer.length!=4){ $("#msg").css('display', 'block'); $("#msg").html(' 请填写右侧四位验证码!'); return false; }else{ /* ajax 提交 */ ajaxSubmit(adminUserName, hex_md5(hex_md5(hex_md5(adminUserPass))+adminUserVer), adminUserVer); } } /* ajax提交数据 */ function ajaxSubmit(userName, userPass, userVer){ $("#msg").hide(); $.ajax({ type: 'POST', dataType:'JSON', url: "Login/login", data: 'username='+userName+'&password='+userPass+'&ver='+userVer, success: function(data){ var jsonObj = data; if(jsonObj.status==1){ $("#msg").css('display', 'none'); location.href='Index/index'; }else{ $("#msg").css('display', 'block'); $("#msg").html(' '+jsonObj.info); $("#ver").val(""); $("#verify_login").attr("src", verifyimg+'&random='+Math.random()); } }, error : function() { $("#msg").css('display', 'block'); $("#msg").html(' 系统繁忙,请稍后再试!'); } }); } /* 判断浏览器,如果移到本js的第三行,会发现无法继续操作(谷歌浏览器除外) */ var browserType = navigator.userAgent.toLocaleLowerCase(); //alert(browserType); //chrome if((/chrome/i.test(browserType) && /webkit/i.test(browserType) && /mozilla/i.test(browserType))==false){ $("#msg").show(); $("#msg").html(' 为了更好的操作,请更换谷歌浏览器!<a href="dlsw.baidu.com/sw-search-sp/soft/9d/14744/ChromeStandalone_47.0.2526.106_Setup.1450323126.exe">点此处下载</a>'); return false; } });

如何通过三次hex_md5加密实现双向md5加密的密码安全传输?