crpto 的AES算法解密为空
1. 需求
对用户密码加密存入数据库,修改密码时取出密码在前端解密(保证密码前后端传输过程中为密文)。
文档地址:CryptoJS - CryptoJS (gitbook.io)
2. 原代码
2.1 加密
var userpass = "123456";
var aseKey = "12345678";
var encrypt = CryptoJS.AES.encrypt(userpass, CryptoJS.enc.Utf8.parse(aseKey), {mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7
}).toString();
console.log(encrypt);
2.2 解密
var encrypt = "密文密码";
var aseKey = "12345678";
var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
console.log(decrypt)
3 问题
上述代码加密环节没有问题,但是从数据库取出后的密文进行解密内容为空。
4 解决方案
添加偏移量:iv: CryptoJS.enc.Utf8.parse(aseKey)
4.1 加密
var userpass = "123456";
var aseKey = "12345678";
var encrypt = CryptoJS.AES.encrypt(userpass, CryptoJS.enc.Utf8.parse(aseKey), {// 添加偏移量iv: CryptoJS.enc.Utf8.parse(aseKey),mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7
}).toString();
console.log(encrypt);
4.2 解密
var encrypt = "密文密码";
var aseKey = "12345678";
var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {// 添加偏移量iv: CryptoJS.enc.Utf8.parse(aseKey),mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
console.log(decrypt)
5. 参考资料
[1] 不要再问我加密的问题了,使用crypto-js中的AES加密方法,连续多次加密/解密,注意事项
[2] CryptoJS aes加密(不要求密钥长度),解密为空字符串的问题
相关文章:
crpto 的AES算法解密为空
1. 需求 对用户密码加密存入数据库,修改密码时取出密码在前端解密(保证密码前后端传输过程中为密文)。 文档地址:CryptoJS - CryptoJS (gitbook.io) 2. 原代码 2.1 加密 var userpass "123456"; var aseKey &quo…...
13.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-如果没有工具就创造工具
内容参考于: 易道云信息技术研究院VIP课 上一个内容 :12.游戏网络通信存在的问题 现在把游戏网络的架构看了一个小小的大概,可以用它的接口发数据接收数据了,如果真正想用它这一套东西,真正核心不在于它的接口而在于…...
配置artifactory的反向代理和域名访问
一、概述 在许多情况下,组织会通过反向代理来提供对 Artifactory 的访问。在某些情况下,例如使用 Artifactory 作为 Docker 注册表,这种设置甚至是强制性的。为了简化反向代理的配置,Artifactory 提供了生成反向代理的功能&#x…...
python爬虫之协程知识点记录
一、协程 概念 协程 又称微线程(纤程),是一种用户态的轻量级线程 子程序 在所有的语言中都是层级调用的,比如A中调用B,B在执行过程中调用C,C执行完返回,B执行完返回,最后是A执行完毕。这是通过栈实现的&a…...
安卓开发1- android stdio环境搭建
安卓开发1-android stdio环境搭建 Jdk环境搭建 1. 准备Jdk,这边已经准备好了jdk1.8.0,该文件直接使用即可 2. 系统变量添加 %JAVA_HOME%\bin JAVA_HOME 3. 系统变量,Path路径添加 4. 添加完成后,输入命令javac / java -version,验证环…...
qt QRadioButton 及QButtonGroup 使用
QRadioButton 放在组合框QGroupBox中,再点击时,即使有多个QRadioButton按钮,同时选中的也就只有一个。 如下图所示, 对于多个QRadioButton,每个按钮都写一个槽函数是不太明智的选择,需要将QRadioButton放在…...
【LeetCode-178】最长重复子串(动归)
目录 LeetCode718.最长重复子串 题目描述 解法1:动态规划 代码实现 题目链接 题目描述 给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。 示例: 输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出&…...
1、jQuery介绍、css()、选择器、事件、动画
一、jQuery介绍? 1、什么是jQuery? 是一个JavaScript函数库 2、jQuery特点 写的少,做的多 3、jQuery的安装 直接下载引入 <script src"jquery-1.10.2.min.js"></script>通过cdn引入 <script src"https…...
ArcEngine 调用GP工具时,出现C++ R6034错误
1、Arcengine 调用GP工具时,遇到正试图在 os 加载程序锁内执行托管代码 问题 使用:把VS菜单的 调试->异常->Managed Debuggin Assistants->LoaderLock 的选中状态去掉。不会弹出该错误。 2 编译后运行EXE时,出现C R6034问题 ArcEng…...
windows下基于docker-desktop 安装 mysql 5.7
0.背景 docker-desktop v4.27.1Windows 11 22H2 docker-desktop 需要wsl的支持,一般win11新机子都默认开启了,安装docker-desktop 一路next即可.win10老版本需要自行安装开启wsl.一个小建议是,如果你的win10安装wsl时各种错误无法解决,建议升级到win11大概率解决,本人亲身经历…...
什么是Rust 语言
Rust 是一种专注于性能和内存安全的系统编程语言,其设计目标包括提供:零开销抽象、移动语义、内存安全、线程无数据竞争、类型安全和实时 gc 等功能。Rust 使用 RAII(Resource Acquisition Is Initialization)管理资源,…...
2024年四川媒体新闻发布渠道,媒体邀约资源表
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 四川有哪些媒体新闻发布渠道,媒体邀约资源表? 2024年四川媒体新闻发布渠道,媒体邀约资源表 四川本地媒体:如四川日报、华西都市报、成都商…...
14:00面试,14:07就出来了,问的问题过于变态了。。。
我从一家小公司转投到另一家公司,期待着新的工作环境和机会。然而,新公司的加班文化让我有些始料未及。虽然薪资相对较高,但长时间的工作和缺乏休息使我身心俱疲。 就在我逐渐适应这种高强度的工作节奏时,公司突然宣布了一则令人…...
利用 Python 抓取数据探索汽车市场趋势
一、引言 随着全球对环境保护意识的增强和技术的进步,新能源汽车作为一种环保、高效的交通工具,正逐渐受到人们的关注和青睐。在这个背景下,对汽车市场的数据进行分析和研究显得尤为重要。 本文将介绍如何利用 Python 编程语言,结…...
新闻网站封锁AI爬虫 AI与新闻媒体博弈继续
随着ChatGPT等新兴AI模型的兴起,它们所依赖的网络爬虫正面临来自全球主流新闻网站的大规模封锁。Richard Fletcher博士团队对十个国家主流新闻网站的统计发现,到2023年底,48%的网站屏蔽了OpenAI的爬虫,24%屏蔽了Google的爬虫。那么…...
Python Web开发记录 Day5:jQuery(JavaScript库)
名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 五、jQuery1、jQuery-选择器和菜单案例①快速上…...
前端-Vue3递归组件自定义Tree
需求 PS:写在前面,需求想要一个Tree 形结构展示当前的组织机构,最末层节点可以选择,层级明确。第一选择网上npm官网或者github 找找成型的东西 element-ui Tree 没有组织结构线js-tree 好看,但是适配Vue3 有点费劲&a…...
《TCP/IP详解 卷一》第12章 TCP初步介绍
目录 12.1 引言 12.1.1 ARQ和重传 12.1.2 滑动窗口 12.1.3 变量窗口:流量控制和拥塞控制 12.1.4 设置重传的超时值 12.2 TCP的引入 12.2.1 TCP服务模型 12.2.2 TCP可靠性 12.3 TCP头部和封装 12.4 总结 12.1 引言 关于TCP详细内容,原书有5个章…...
作业1-224——P1015 [NOIP1999 普及组] 回文数
题目描述 思路 首先此题为一道高精度题,然后本题按照题目意思模拟即可。我们可以开两个数组来记录高精度数字,这样方便我们处理。判断“该数组是否回文”、“c翻转存入d再做cd”可以写成两个单独的函数。然后主程序组织一下他们即可。注意好退出循环的…...
后端知识(理解背诵)
文章目录 🍺 来源🍺 C🍻 new 和 malloc 的区别?2🍻 delete 和 delete[] 的区别?0🍻 内存泄漏是什么?如何避免?1 🍺 计算机网络🍻 URL 输入后发生了…...
MedGemma-XGPU优化:KV Cache量化与FlashAttention-2集成实践
MedGemma-XGPU优化:KV Cache量化与FlashAttention-2集成实践 1. 为什么MedGemma-X需要GPU推理加速? 在放射科实际工作流中,一张胸部X光片的AI辅助分析不能等——医生需要秒级响应,影像科每天处理数百例检查,延迟每增…...
高效智能激活解决方案:KMS_VL_ALL_AIO一站式Windows与Office激活指南
高效智能激活解决方案:KMS_VL_ALL_AIO一站式Windows与Office激活指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否遇到过Windows系统突然弹出激活提醒打断重要工作…...
Captain AI:智能运营破局——OZON商家增长引擎
在俄罗斯OZON平台跨境电商竞争日趋激烈的当下,商家想要突破运营瓶颈、实现业绩增长,离不开高效智能的运营工具加持。Captain AI作为专为对俄跨境电商打造的AI智能助手,以全链路运营支持为核心,从选品到复盘覆盖到了每一个关键环节…...
Lingyuxiu MXJ LoRA开发技巧:VSCode调试配置详解
Lingyuxiu MXJ LoRA开发技巧:VSCode调试配置详解 1. 为什么需要在VSCode里调试LoRA项目 你可能已经用过Lingyuxiu MXJ LoRA镜像生成出不少惊艳的人像作品,但当想修改模型行为、排查生成异常,或者给引擎加新功能时,光靠重启服务和…...
VinXiangQi:重新定义中国象棋智能对弈的革命性开源方案
VinXiangQi:重新定义中国象棋智能对弈的革命性开源方案 【免费下载链接】VinXiangQi Xiangqi syncing tool based on Yolov5 / 基于Yolov5的中国象棋连线工具 项目地址: https://gitcode.com/gh_mirrors/vi/VinXiangQi 在数字化的浪潮中,传统棋类…...
Lingyuxiu MXJ LoRA进阶教程:负面Prompt强化NSFW过滤与画质提升方法
Lingyuxiu MXJ LoRA进阶教程:负面Prompt强化NSFW过滤与画质提升方法 1. 引言:从“能用”到“好用”的关键一步 如果你已经成功部署了Lingyuxiu MXJ LoRA创作引擎,并且用它生成了一些人像作品,那么恭喜你,你已经迈出了…...
如何轻松退出Windows Insider计划?OfflineInsiderEnroll终极解决方案
如何轻松退出Windows Insider计划?OfflineInsiderEnroll终极解决方案 【免费下载链接】offlineinsiderenroll OfflineInsiderEnroll - A script to enable access to the Windows Insider Program on machines not signed in with Microsoft Account 项目地址: ht…...
Pixel Aurora Engine 集成SpringBoot实战:构建企业级AI创意应用后端
Pixel Aurora Engine 集成SpringBoot实战:构建企业级AI创意应用后端 1. 企业级AI创意应用的技术挑战 在数字化内容爆炸式增长的今天,企业内容创作平台面临着前所未有的挑战。传统人工设计模式已经难以满足海量、个性化、快速迭代的内容需求。以某电商平…...
身份管理化技术用户生命周期与权限回收
身份管理化技术:用户生命周期与权限回收的智能治理 在数字化时代,企业面临用户身份与权限管理的复杂挑战。身份管理化技术通过自动化流程,实现从用户入职到离职的全生命周期管控,确保权限分配精准、回收及时,成为企业…...
gte-base-zh部署教程:Ansible自动化批量部署Xinference集群
gte-base-zh部署教程:Ansible自动化批量部署Xinference集群 1. 项目概述与准备工作 gte-base-zh是由阿里巴巴达摩院训练的中文文本嵌入模型,基于BERT框架构建。这个模型在大规模相关文本对语料库上进行训练,涵盖了广泛的领域和场景…...
