当前位置: 首页 > news >正文

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介绍&#xff1f; 1、什么是jQuery&#xff1f; 是一个JavaScript函数库 2、jQuery特点 写的少&#xff0c;做的多 3、jQuery的安装 直接下载引入 <script src"jquery-1.10.2.min.js"></script>通过cdn引入 <script src"https…...

ArcEngine 调用GP工具时,出现C++ R6034错误

1、Arcengine 调用GP工具时&#xff0c;遇到正试图在 os 加载程序锁内执行托管代码 问题 使用&#xff1a;把VS菜单的 调试->异常->Managed Debuggin Assistants->LoaderLock 的选中状态去掉。不会弹出该错误。 2 编译后运行EXE时&#xff0c;出现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 是一种专注于性能和内存安全的系统编程语言&#xff0c;其设计目标包括提供&#xff1a;零开销抽象、移动语义、内存安全、线程无数据竞争、类型安全和实时 gc 等功能。Rust 使用 RAII&#xff08;Resource Acquisition Is Initialization&#xff09;管理资源&#xff0c…...

2024年四川媒体新闻发布渠道,媒体邀约资源表

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 四川有哪些媒体新闻发布渠道&#xff0c;媒体邀约资源表&#xff1f; 2024年四川媒体新闻发布渠道&#xff0c;媒体邀约资源表 四川本地媒体&#xff1a;如四川日报、华西都市报、成都商…...

14:00面试,14:07就出来了,问的问题过于变态了。。。

我从一家小公司转投到另一家公司&#xff0c;期待着新的工作环境和机会。然而&#xff0c;新公司的加班文化让我有些始料未及。虽然薪资相对较高&#xff0c;但长时间的工作和缺乏休息使我身心俱疲。 就在我逐渐适应这种高强度的工作节奏时&#xff0c;公司突然宣布了一则令人…...

利用 Python 抓取数据探索汽车市场趋势

一、引言 随着全球对环境保护意识的增强和技术的进步&#xff0c;新能源汽车作为一种环保、高效的交通工具&#xff0c;正逐渐受到人们的关注和青睐。在这个背景下&#xff0c;对汽车市场的数据进行分析和研究显得尤为重要。 本文将介绍如何利用 Python 编程语言&#xff0c;结…...

新闻网站封锁AI爬虫 AI与新闻媒体博弈继续

随着ChatGPT等新兴AI模型的兴起&#xff0c;它们所依赖的网络爬虫正面临来自全球主流新闻网站的大规模封锁。Richard Fletcher博士团队对十个国家主流新闻网站的统计发现&#xff0c;到2023年底&#xff0c;48%的网站屏蔽了OpenAI的爬虫&#xff0c;24%屏蔽了Google的爬虫。那么…...

Python Web开发记录 Day5:jQuery(JavaScript库)

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 五、jQuery1、jQuery-选择器和菜单案例①快速上…...

前端-Vue3递归组件自定义Tree

需求 PS&#xff1a;写在前面&#xff0c;需求想要一个Tree 形结构展示当前的组织机构&#xff0c;最末层节点可以选择&#xff0c;层级明确。第一选择网上npm官网或者github 找找成型的东西 element-ui Tree 没有组织结构线js-tree 好看&#xff0c;但是适配Vue3 有点费劲&a…...

《TCP/IP详解 卷一》第12章 TCP初步介绍

目录 12.1 引言 12.1.1 ARQ和重传 12.1.2 滑动窗口 12.1.3 变量窗口&#xff1a;流量控制和拥塞控制 12.1.4 设置重传的超时值 12.2 TCP的引入 12.2.1 TCP服务模型 12.2.2 TCP可靠性 12.3 TCP头部和封装 12.4 总结 12.1 引言 关于TCP详细内容&#xff0c;原书有5个章…...

作业1-224——P1015 [NOIP1999 普及组] 回文数

题目描述 思路 首先此题为一道高精度题&#xff0c;然后本题按照题目意思模拟即可。我们可以开两个数组来记录高精度数字&#xff0c;这样方便我们处理。判断“该数组是否回文”、“c翻转存入d再做cd”可以写成两个单独的函数。然后主程序组织一下他们即可。注意好退出循环的…...

后端知识(理解背诵)

文章目录 &#x1f37a; 来源&#x1f37a; C&#x1f37b; new 和 malloc 的区别&#xff1f;2&#x1f37b; delete 和 delete[] 的区别&#xff1f;0&#x1f37b; 内存泄漏是什么&#xff1f;如何避免&#xff1f;1 &#x1f37a; 计算机网络&#x1f37b; URL 输入后发生了…...

MedGemma-XGPU优化:KV Cache量化与FlashAttention-2集成实践

MedGemma-XGPU优化&#xff1a;KV Cache量化与FlashAttention-2集成实践 1. 为什么MedGemma-X需要GPU推理加速&#xff1f; 在放射科实际工作流中&#xff0c;一张胸部X光片的AI辅助分析不能等——医生需要秒级响应&#xff0c;影像科每天处理数百例检查&#xff0c;延迟每增…...

高效智能激活解决方案:KMS_VL_ALL_AIO一站式Windows与Office激活指南

高效智能激活解决方案&#xff1a;KMS_VL_ALL_AIO一站式Windows与Office激活指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否遇到过Windows系统突然弹出激活提醒打断重要工作&#xf…...

Captain AI:智能运营破局——OZON商家增长引擎

在俄罗斯OZON平台跨境电商竞争日趋激烈的当下&#xff0c;商家想要突破运营瓶颈、实现业绩增长&#xff0c;离不开高效智能的运营工具加持。Captain AI作为专为对俄跨境电商打造的AI智能助手&#xff0c;以全链路运营支持为核心&#xff0c;从选品到复盘覆盖到了每一个关键环节…...

Lingyuxiu MXJ LoRA开发技巧:VSCode调试配置详解

Lingyuxiu MXJ LoRA开发技巧&#xff1a;VSCode调试配置详解 1. 为什么需要在VSCode里调试LoRA项目 你可能已经用过Lingyuxiu MXJ LoRA镜像生成出不少惊艳的人像作品&#xff0c;但当想修改模型行为、排查生成异常&#xff0c;或者给引擎加新功能时&#xff0c;光靠重启服务和…...

VinXiangQi:重新定义中国象棋智能对弈的革命性开源方案

VinXiangQi&#xff1a;重新定义中国象棋智能对弈的革命性开源方案 【免费下载链接】VinXiangQi Xiangqi syncing tool based on Yolov5 / 基于Yolov5的中国象棋连线工具 项目地址: https://gitcode.com/gh_mirrors/vi/VinXiangQi 在数字化的浪潮中&#xff0c;传统棋类…...

Lingyuxiu MXJ LoRA进阶教程:负面Prompt强化NSFW过滤与画质提升方法

Lingyuxiu MXJ LoRA进阶教程&#xff1a;负面Prompt强化NSFW过滤与画质提升方法 1. 引言&#xff1a;从“能用”到“好用”的关键一步 如果你已经成功部署了Lingyuxiu MXJ LoRA创作引擎&#xff0c;并且用它生成了一些人像作品&#xff0c;那么恭喜你&#xff0c;你已经迈出了…...

如何轻松退出Windows Insider计划?OfflineInsiderEnroll终极解决方案

如何轻松退出Windows Insider计划&#xff1f;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实战&#xff1a;构建企业级AI创意应用后端 1. 企业级AI创意应用的技术挑战 在数字化内容爆炸式增长的今天&#xff0c;企业内容创作平台面临着前所未有的挑战。传统人工设计模式已经难以满足海量、个性化、快速迭代的内容需求。以某电商平…...

身份管理化技术用户生命周期与权限回收

身份管理化技术&#xff1a;用户生命周期与权限回收的智能治理 在数字化时代&#xff0c;企业面临用户身份与权限管理的复杂挑战。身份管理化技术通过自动化流程&#xff0c;实现从用户入职到离职的全生命周期管控&#xff0c;确保权限分配精准、回收及时&#xff0c;成为企业…...

gte-base-zh部署教程:Ansible自动化批量部署Xinference集群

gte-base-zh部署教程&#xff1a;Ansible自动化批量部署Xinference集群 1. 项目概述与准备工作 gte-base-zh是由阿里巴巴达摩院训练的中文文本嵌入模型&#xff0c;基于BERT框架构建。这个模型在大规模相关文本对语料库上进行训练&#xff0c;涵盖了广泛的领域和场景&#xf…...