为什么要研究这个呢,因为我所在单位的信息管理部门在监控系统上发现有大量的明文账号(身份证号)和密码在传输,被告知这很不安全,索性就直接解决这个问题,利用JS前端加密PHP后端再加密来解决这个问题,保证传输过程中数据的非明文传递。

一、登录界面

//以上引用文件会在后面给出文件压缩包(顺便在这里鄙视一下有些论坛,无论什么东西都要下载积分花钱,我也是付费购买后给大家分享出来)

function checkform_login(){

if ($("#username").val()==""){

$("#username").focus();

alert("请输入您的账号!")

return false

}else if ($("#password").val()==""){

$("#password").focus();

alert("请输入您的密码!")

return false

}else{

$("#u_dlcode").val(js_encrypt($("#username").val()))

$("#p_dlcode").val(js_encrypt($("#password").val()))

//$("#username").val($("#u_dlcode").val()+123)

//return false

$("#form_login_true").submit();

return true

}

}

//前端js,使用crypto-js对数据进行AES加密

function js_encrypt(text){

var key = CryptoJS.enc.Latin1.parse('1E390CMD585LLS4S'); //为了避免补位,直接用16位的秘钥

var iv = CryptoJS.enc.Latin1.parse('1104432290129056'); //16位初始向量(请记住这两个都要保证是16位)

var encrypted = CryptoJS.AES.encrypt(text, key, {

iv: iv,

mode:CryptoJS.mode.CBC,

padding:CryptoJS.pad.ZeroPadding

});

return encrypted;

}

二、PHP验证登录界面//openssl_encrypt解密,前端通过JS加密

function js_decrypt_openssl($encrypt){

$key = "1E390CMD585LLS4S"; //与JS端的KEY一致

$iv = "1104432290129056"; //这个也是要与JS中的IV一致

//$encrypt = base64_ decode($encrypt); //注意这里的base64_和decode之间不应该有空格,我这么写是因为触发了西数的安全机制,不允许在内容中有这个函数

$decrypted = openssl_decrypt($encrypt, 'AES-128-CBC', $key, 2 , $iv);

$decrypted = rtrim($decrypted, "

PHP密码问题陈婷代码_登录中利用JS前端加密PHP后端解密保证数据非明文传输的安全方法...相关推荐

  1. 密码的前端加密与后端解密

    一前端vue加密 #安装依赖 npm install jsencrypt#公钥加密密码 import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'const ...

  2. 用户密码的加密解密操作(前端加密,后端解密)

    用户密码的加密解密操作 作者是个小菜狗,行文过程基本都基于自己理解,没有深入查阅文献,如有错误,还请大神指出 背景: 公司做的是一个某某平台的系统,包括前台和后台,作者刚毕业,刚开始试用,带我的师傅让 ...

  3. PHP密码问题陈婷代码_PHP实现登录注册

    一.首先实现一个PHP的简单登录注册的话 我们要简单的与后端定义一下接口和传输数据的方式 并且我们要有一个phpStudy服务器. 第一步:当我们点击注册按钮的时候数据库要接收到客户端请求的数据 第二 ...

  4. HTML中利用JS调用PHP (以登录为例)

    最近在做 Login 和 Register 的东西,因为需要用到 session 来存储用户的 id 和 用户名,所以需要调用 php 中的 session.由于不会 Ajax, 所以不得不用一些笨办 ...

  5. 如何编写无法维护的代码_编写可维护的前端代码

    点击这里获得更好的阅读体验​github.com 以下是本人在团队内部分享的整理和补充,水平有限,如有错误,请不吝赐教. 大家好,我叫王力国,目前是 RPA 前端团队负责人,过去一年我们从零构建了 R ...

  6. 罗盘时钟编码代码_安全研究 | 利用macOS Dock实现代码的持久化执行

    背景介绍 近期,我一直在研究macOS上的一些持久化技术,尤其是如何利用低等级用户权限来修改文件以影响用户交互.对于macOS终端用户来说,交互最频繁的当属Dock了. 在我的研究过程中,我发现了一个 ...

  7. python数据存储和查询代码_【Python分享】如何便捷地存储、查询数据

    前言在之前的文章(如下)中,分享了爬取天天基金.中债指数的代码.爬取的数据很多,如何方便地存储.查询,也是一个麻烦的问题.本文分享一下我实现的基于 lsm-db 的本地文件数据存储.查询模块. 分享天 ...

  8. 微信开发中消息回复的代码_消息中的消息

    微信开发中消息回复的代码 Ste·ga·no·graph·y / stegəˈnägrəfi / (noun): the practice of concealing messages or info ...

  9. JEPaas代码_((列表,表单)刷新列表||刷新表单数据

    JEPaas代码----刷新列表 以下功能都是通过"按钮"添加脚本来实现 //刷新列表var func=JE.getFunc('KH_YHLXR');//得到功能对象var gri ...

最新文章

  1. 魏哲巍:图神经网络的理论基础 | 青源 Talk 第 7 期
  2. sap data service安装方法
  3. Cocos2d-x和时间有关的代码
  4. 存储空间_Tan分享 存储空间清理
  5. Win7 IIS7 ASP.NET MVC3.0 部署问题
  6. Html调用窗口,等待HTML调用window.print()之前写窗口
  7. 数据结构(四)串的顺序存储
  8. ASP动态网页开发中的WEB打印代码大全
  9. 什么是数据的表分区(文章附上Server 2005分区实施方案)
  10. 【转载】VC遍历文件夹下所有文件和文件夹
  11. SVM入门(一)至(三)(转)
  12. 2012/7/26给Extjs grid中的列自定义渲染方式
  13. 【GlobalMapper精品教程】011:添加China 2000大地坐标系的方法
  14. CSS基础:移动端开发常识,多倍图初始化等
  15. IOS OC UIKit基本使用
  16. 利用Gitee搭建免费图床(详细教程)
  17. C++学习之boost安装及thread使用
  18. html 字母强制换行,Html 页面的强制换行问题总结
  19. 简约不简单 细说专票电子化的“四个新”
  20. Abaqus学习-初识Abaqus(悬臂梁)

热门文章

  1. 点击调试时提示MFC不包含调试信息
  2. UVA10474 Where is the Marble?【排序】
  3. Codeforces Educational Codeforces Round 3 D. Gadgets for dollars and pounds 二分,贪心
  4. 《数学之美》 第六章 信息的度量和作用
  5. 8条体面的程序员偷懒技巧
  6. windows API 菜鸟学习之路(一)
  7. MySQL -- 创建用户并提升用户权限
  8. VB.NET在WinForm中嵌入谷歌浏览器_制作全屏显示网页程序_并读取INI配置文件_根据配置文件显示不同的网页---VB.NET工作笔记016
  9. 大数据_MapperReduce_协处理器_类似Mysql的触发器---Hbase工作笔记0024
  10. 大数据_Hbase_面试题0001