前端对用户名密码加密处理,后端解密

news2024/11/25 0:39:06

一. 正常表单提交如图,可以看见输入的用户名密码等

在这里插入图片描述

二. 使用crypto-js.min.js进行前端加密处理

js资源地址链接:https://pan.baidu.com/s/1kfQZ1SzP6DUz50D–g_ziQ
提取码:1234
前端代码

<script type="text/javascript" src="/js/crypto-js.min.js"></script>
<script type="text/javascript">
function encrypt(str, key, iv) {
	//密钥16位 
	var key = CryptoJS.enc.Utf8.parse(key); 
	//加密向量16位 
	var iv = CryptoJS.enc.Utf8.parse(iv); 
	var encrypted = CryptoJS.AES.encrypt(str, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); 
	return encrypted; 
	
}


</script>

<script>
    layui.use('form', function () {
        var form = layui.form;
        form.render();
        form.on('submit(LAY-user-login-submit)', function (data) {
        //表单可使用var data = $(“form”).serialize();
            var field = data.field;
            var jsonstr=JSON.stringify(field);
            var enjsonstr=encrypt(jsonstr,'abcdefgh12345678','abcdefgh12345678');
            var enstr="'"+enjsonstr+"'";
            $.post("{:url('admin/site/login')}",{key:enstr}, function (ret) {
            	//成功
                if (ret.code == 0) {
                    layer.msg(ret.msg, { time: 1000 }, function () {
                        window.location.href = ret.url;
                    })
                } else {
                    layer.msg(ret.msg, { time: 1000 });
                    setTimeout(function (){
 
						 window.location.reload();
						}, 2000);
                    
                    
                }
            });
        });
    });
</script>

后端使用php获取数据

$input = input("request.", '', 'trim'); 
$obj=get_object_vars(decrypt($input['key'],'abcdefgh12345678','abcdefgh12345678'));
unset($input['key']);
$input=array_merge($input,$obj);

后端解密方法如下

function decrypt($data, $key, $iv) {
	$decrypted = openssl_decrypt(base64_decode($data), 'AES-128-CBC', $key, true, $iv); 
	$json_str = rtrim($decrypted, "\0");
	return json_decode($json_str); 
	
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1219935.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年亚太杯数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…

2023年09月 Scratch(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 下列哪项内容是不可以修改的?( ) A:角色名称 B:造型名称 C:舞台名称 D:背景名称 答案:C 第2题 要给“古诗朗诵”作品录制配音,可以使用下列哪个按钮?( ) A: B: C:…

LLM建模了什么,为什么需要RAG

LLM近期研究是井喷式产出&#xff0c;如此多的文章该处何处下手&#xff0c;他们到底又在介绍些什么、解决什么问题呢&#xff1f;“为学日增&#xff0c;为道日损”&#xff0c;我们该如何从如此多的论文中找到可以“损之又损以至于无”的更本质道或者说是这个方向的核心模型。…

ElementUI及ElementUI Plus Axure RP高保真交互元件库及模板库

基于ElementUI2.0及ElementUI Plus3.0二次创作的ElementUI 元件库。2个版本的原型图内容会有所不同&#xff0c;ElementUI Plus3.0的交互更加丰富和高级。你可以同时使用这两个版本。 不仅包含Element UI 2.0版&#xff0c;还包含Element Plus 3版本。Element 2版支持Axure 8&…

解析 Python requests 库 POST 请求中的参数顺序问题

在这篇文章中&#xff0c;我们将探讨一个用户在使用Python的requests库进行POST请求时遇到的问题&#xff0c;即参数顺序的不一致。用户通过Fiddler进行网络抓包&#xff0c;发现请求体中的参数顺序与他设置的顺序不符。我们将深入了解POST请求的工作原理&#xff0c;并提供解决…

css继承属性

在css中&#xff0c;继承是指的是给父元素设置一些属性&#xff0c;后代元素会自动拥有这些属性 关于继承属性&#xff0c;可以分成&#xff1a; 字体系列属性文本系列属性元素可见性表格布局属性列表属性引用光标属性 继承中比较特殊的几点&#xff1a; a 标签的字体颜色不…

HTTP HTTPS 独特的魅力

目录 HTTP协议 HTTP协议的工作过程 首行 请求头&#xff08;header&#xff09; HOST Content-Length​编辑 User-Agent&#xff08;简称UA&#xff09; Referer Cookie 空行 正文&#xff08;body&#xff09; HTTP响应详解 状态码 报文格式 HTTP响应格式 如何…

将ECharts图表插入到Word文档中

文章目录 在后端调用JS代码准备ECharts库生成Word文档项目地址库封装本文示例 EChartsGen_DocTemplateTool_Sample 如何通过ECharts在后台生成图片&#xff0c;然后插入到Word文档中&#xff1f; 首先要解决一个问题&#xff1a;总所周知&#xff0c;ECharts是前端的一个图表库…

asp.net实验室设备管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目

一、源码特点 asp.net实验室设备管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 asp.net实验室设备管理系统1 二、功能介绍 本系统使用Microsoft Visual Studio 2019为开发工具&#xff0c;SQL …

国鑫受邀出席2023松山湖软件和信息服务业高质量发展大会

为推动粤港澳大湾区的软件和先进制造产业的融合发展&#xff0c;“2023松山湖软件和信息服务业高质量发展大会”于今日在松山湖畔隆重举办&#xff0c;会议以“推动软件和制造业深度融合发展&#xff0c;打造软件和信息服务业集聚高地”为主题&#xff0c;聚焦工业软件应用、智…

解析CAD图纸出现乱码的原因及解决方法

解析CAD图纸出现乱码的原因及解决方法 CAD&#xff08;计算机辅助设计&#xff09;是现代工程设计中不可或缺的工具&#xff0c;它能够帮助工程师们高效地完成复杂的设计任务。然而&#xff0c;有时在使用CAD软件过程中&#xff0c;可能会遇到图纸出现乱码的问题&#xff0c;影…

【python零基础入门学习】python进阶篇之数据库连接-PyMysql-全都是干货-一起来学习吧!!!

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

解决因跨域导致使用a标签下载文件download属性失效无法自定义命名的问题

问题背景&#xff1a; 在使用a标签下载文件时&#xff0c;download属性可以更改下载的文件名。 // 下载a.exe,并采用默认命名 <a href"/images/a.exe" download>点击下载</a>// 将a.exe改名为b.exe下载 <a href"/images/a.exe" download&…

什么是日志分析?为什么IT管理员需要日志分析?

在现在大数据时代&#xff0c;大量的数据被生成和记录&#xff0c;无论是企业还是个人&#xff0c;都在不断产生各种日志。日志记录了系统、应用程序、网络等多个领域的活动和事件信息&#xff0c;它们对于解决问题、监控和优化系统、还原事件等都非常重要。而这些海量的日志数…

粉够荣获淘宝联盟理事会常务理事,共绘联盟生态新篇章

淘宝联盟区域理事会于2021年成立&#xff0c;首届成立成都、广州、武汉&#xff0c;服务近2000个领军淘宝客企业&#xff0c;作为区域生态与官方交流重要枢纽&#xff0c;理事会举办近百场交流分享会&#xff0c;带动淘客跨域跨业态交流成长。 2023年9月7日第二届淘宝联盟理事…

操作系统 day11(进程调度时机、切换、调度方式)

进程调度的时机 这里的主动放弃指的是—内中断&#xff08;异常、例外&#xff09;&#xff0c;中断信号来自CPU内部。而被动放弃指的是—外中断&#xff08;中断&#xff09;&#xff0c;中断信号来自CPU外部 如果该进程还没退出临界区&#xff08;还没解锁&#xff09;就进行…

Spring Boot中使用MongoDB完成数据存储

我们在开发中用到的数据存储工具有许多种&#xff0c;我们常见的数据存储工具包括&#xff1a; 关系性数据库&#xff1a;使用表格来存储数据&#xff0c;支持事务和索引。&#xff08;如&#xff1a;MySQL&#xff0c;Oracle&#xff0c;SQL Server等&#xff09;。NoSQL数据…

信创环境下高级威胁攻击层出不穷,信息化负责人该如何增强对抗与防御能力?

11月15日&#xff0c;以“加快推进智慧校园建设 赋能为党育才为党献策”为主题的2023年华东地区党校&#xff08;行政学院&#xff09;信息化和图书馆工作高质量发展专题研讨班顺利举办。 作为国内云原生安全领导厂商&#xff0c;安全狗受邀出席活动。 厦门服云信息科技有限公司…

无需添加udid,ios企业证书的自助生成方法

我们开发uniapp的app的时候&#xff0c;需要苹果证书去打包。 假如申请的是个人或company类型的苹果开发者账号&#xff0c;必须上架才能安装&#xff0c;异常的麻烦&#xff0c;但是有一些app&#xff0c;比如企业内部使用的app&#xff0c;是不需要上架苹果应用市场的。 假…