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

前端CryptoJS-AES加解密 对应php的AES-128-CBC加解密踩坑(java也相同加解密)

 前端部分注意看填充是pkcs7

有个前提,要看前端有没有转成hex格式,如果没转,php那边就不需要调用特定函数转hex格式的

const keyStr = '5hOwdHxpW0GOciqZ';const iv = '0102030405060708';//加密function Encrypt(word) {let key = CryptoJS.enc.Utf8.parse(keyStr);let srcs = CryptoJS.enc.Utf8.parse(word);let encrypted = CryptoJS.AES.encrypt(srcs, key, {iv: CryptoJS.enc.Utf8.parse(iv),mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});let hexStr = encrypted.ciphertext.toString().toUpperCase();return hexStr.toString();//  encrypted.ciphertext.toString(); // 返回hex格式的密文//encrypted.toString(); //此方式返回base64格式密文}//解密function Decrypt(word) {let key = CryptoJS.enc.Utf8.parse(keyStr);let encryptedHexStr = CryptoJS.enc.Hex.parse(word);var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);let decrypt = CryptoJS.AES.decrypt(srcs, key, {iv: CryptoJS.enc.Utf8.parse(iv),mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});return CryptoJS.enc.Utf8.stringify(decrypt).toString();}

后端php代码

if (!function_exists('encrypt')) {//加密function encrypt($data, $method = 'AES-128-CBC', $typeNum = 1){$key  = '5hOwdHxpW0GOciqZ';$iv   = '0102030405060708';$a = openssl_encrypt($data, $method,  $key,  $typeNum, $iv);// $base64 = base64_encode(openssl_encrypt($data, $method,  $key,  $typeNum, $iv));//先转hex格式 再转大写模式return  strtoupper(bin2hex($a)); }
}if (!function_exists('decrypt')) {//解密 这里 $typeNum必须为0function decrypt($data, $method = "AES-128-CBC", $typeNum = 0){$key  = '5hOwdHxpW0GOciqZ';$iv   = '0102030405060708';$data = base64_encode(hex2bin($data));$a = openssl_decrypt($data, $method,  $key, $typeNum,  $iv);return $a;}
}

相关文章:

前端CryptoJS-AES加解密 对应php的AES-128-CBC加解密踩坑(java也相同加解密)

前端部分注意看填充是pkcs7 有个前提,要看前端有没有转成hex格式,如果没转,php那边就不需要调用特定函数转hex格式的 const keyStr 5hOwdHxpW0GOciqZ;const iv 0102030405060708;//加密function Encrypt(word) {let key CryptoJS.enc.Ut…...

Python解码张三的法外狂徒之旅,揭秘视频背后的真相!【含jS逆向解密】

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 传说中,有人因为只是远远的看了一眼法外狂徒张三就进去了😂 我现在是获取他视频,岂不是直接终生了🤩 网友:赶紧跑路吧 😏 好了话不多说&#xff…...

【解析】对比学习和孪生网络的关系

文章目录 区别联系具体概念孪生网络(Siamese Networks)对比学习(Contrastive Learning) 区别 孪生网络是一种特定的神经网络结构;对比学习是一种学习策略,它试图让模型学习如何区分正样本对(相…...

Java版本企业工程项目管理系统平台源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…...

智能井盖:科技赋能城市脚下安全

在智能化飞速发展的今天,智能井盖作为城市基础设施的一部分,正逐渐走进人们的视野。它利用现代科技手段,实现了对城市井盖的实时监控、及时响应和高效管理,为城市管理、市民出行等方面带来了诸多便利。 城市中井盖数量庞大&#x…...

wangeditor编辑器配置

vue项目中使用编辑器&#xff0c;轻量&#xff0c;操作栏选取自己需要的 官网地址&#xff1a;用于 Vue React | wangEditor 使用在vue项目中引入 npm install wangeditor/editor --savenpm install wangeditor/editor-for-vue --save 封装成组件使用 <template>&…...

Sqlite使用WAL模式指南

本文地址&#xff1a;http://t.csdn.cn/kE8ND 文章目录 一、WAL模式的原理二、开启WAL后必须要设置的参数1.PRAGMA SYNCHRONOUS&#xff08;1&#xff09;SYNCHRONOUS的类型&#xff08;2&#xff09;WAL下如何选择SYNCHRONOUS类型 2.PRAGMA wal_autocheckpoint3.sqlite3_busy…...

一套高质量可靠的 React Hooks 库

个人使用&#xff0c;感受&#xff0c;挺好用 https://ahooks.js.org/zh-CN 我主要用了这个 useCountDown 倒计时&#xff0c;再也不用费心费力去写一个倒计时方法了&#xff0c;而且直接提供end之后要做什么。...

集合---list接口及实现类

一、list概述 1、list接口概述 List接口继承自Collection接口&#xff0c;是单列集合的一一个重要分支&#xff0c;我们习惯性地会将实现了 List接口的对象称为List集合。在List集合中允许出现重复的元素&#xff0c;所有的元素是以一种线性方 式进行有序存储的&#xff0c;在…...

JVM简述

JDK&JRE&JVMJVM运行时内存结构图方法区堆区栈区程序计数器本地方法栈 JVM 的主要组成部分及其作用 JDK&JRE&JVM JVM就是java虚拟机&#xff0c;一台虚拟的机器&#xff0c;用来运行java代码 但并不是只有这台机器就可以的&#xff0c;java程序在运行时需要依赖…...

7.25训练总结

考场错误&#xff1a; A题其实并不简单&#xff0c;但是先想了一个方法后&#xff0c;就交了&#xff0c;wa了后一直卡住&#xff0c;策略不当&#xff0c;到最后后期写C的时候也犯了一些低级的错误&#xff0c;这点需要注意。 之后顺利的把BCDHI写完后&#xff0c;又完成了A的…...

java注解@FeignClient修饰的类路径不在spring boot入口类所在的包下,有哪几种处理方式?

一、注解EnableFeignClients 修饰在spring boot入口类&#xff0c;使得openfeign的FeignClient注解生效。 我们进一步看看注解EnableFeignClients的使用方式。 String[] basePackages() default {};Class<?>[] basePackageClasses() default {};Class<?>[] clie…...

神经网络随记-参数矩阵、剪枝、模型压缩、大小匹配、、

神经网络的参数矩阵 在神经网络中&#xff0c;参数矩阵是模型学习的关键部分&#xff0c;它包含了神经网络的权重和偏置项。下面是神经网络中常见的参数矩阵&#xff1a; 权重矩阵&#xff08;Weight Matrix&#xff09;&#xff1a;权重矩阵用于线性变换操作&#xff0c;将输…...

4、Kubernetes 集群 YAML 文件详解

目录 一、YAML 概述 二、YAML 基本语法 三、YAML 数据结构 四、k8s资源清单描述方法 五、YAML 快速编写 1、使用 kubectl create 命令 2、使用 kubectl get 命令导出 yaml 文件 一、YAML 概述 k8s 集群中对资源管理和资源对象编排部署都可以通过声明YAML文件来解决&…...

leetcode93. 复原 IP 地址(java)

复原 IP 地址 leetcode93. 复原 IP 地址回溯算法代码演示 回溯算法 leetcode93. 复原 IP 地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2…...

极光Java 版本服务器端实现别名消息推送

文章目录 引言I 概述1.1 依赖包1.2 极光证书环境参数1.3 构建推送对象II 推送内容2.1 配置推送内容2.2 获取通知消息内容2.3 配置IOS通知内容2.4 配置Android通知内容2.5 发起推送2.6 分批推送2.7 初始化密钥2.8 配置密钥引言 REST API 文档:https://docs.jiguang.cn/jpush/se…...

【Lua学习笔记】Lua进阶——Table(4)继承,封装,多态

文章目录 封装继承多态 封装 // 定义基类 Object {}//由于表的特性&#xff0c;该句就相当于定义基类变量 Object.id 1//该句相当于定义方法&#xff0c;Object可以视为定义的对象&#xff0c;Test可以视为方法名 //我们知道Object是一个表&#xff0c;但是抽象地看&#xff…...

安全性证明(四)Practical Identity-Based Encryption Without Random Oracles

...

Linux中常用的指令

ls ls [选项] [目录或文件] 功能&#xff1a;对于目录&#xff0c;列出该目录下所有的子目录和文件&#xff1b;对于文件&#xff0c;列出该文件的文件名和其他属性 常用选项&#xff1a; -a:列出目录下的所有文件&#xff0c;包括以.开头的隐藏文件 -l:列出文件的详细信息。…...

【java】【面对对象高级4】内部类、枚举、泛型

目录 1、内部类 1.1 成员内部类【了解】 1.1.1 定义 1.1.2 扩展变量 1.2 静态内部类【了解】 1.2.1 定义 1.2.2 扩展变量 1.3 局部内部类【了解】 1.4 匿名内部类【重点】 1.4.1 定义 1.4.1.1 常规写法 1.4.1.2 匿名内部类改造 1.4.2 匿名内部类的常见使用场景 1.4.2…...

图解CV中的交叉注意力:用QKV三兄弟搞定图像特征增强(附PyTorch代码示例)

图解CV中的交叉注意力&#xff1a;用QKV三兄弟搞定图像特征增强&#xff08;附PyTorch代码示例&#xff09; 在计算机视觉领域&#xff0c;注意力机制正逐渐成为提升模型性能的关键技术。不同于传统卷积操作的固定感受野&#xff0c;注意力机制赋予模型动态聚焦重要区域的能力。…...

OpenClaw+nanobot故障排查:模型加载失败的5种解决方法

OpenClawnanobot故障排查&#xff1a;模型加载失败的5种解决方法 1. 问题背景与排查思路 上周我在本地部署nanobot镜像时&#xff0c;遇到了模型加载失败的问题。这个镜像内置了Qwen3-4B-Instruct-2507模型&#xff0c;理论上应该开箱即用&#xff0c;但实际启动时却卡在了vL…...

GG3M 元模型完整详解:从东方哲学数学化到文明级智慧操作系统

GG3M 元模型完整详解&#xff1a;从东方哲学数学化到文明级智慧操作系统摘要&#xff1a; GG3M 是全球首个以贾子理论&#xff08;Kucius Theory&#xff09;为核心、定位文明级智慧操作系统的 AGI 项目。其元模型&#xff08;Meta-Model&#xff09;以 3M 三层架构&#xff08…...

STM32串口环形队列实现与优化

## 1. STM32串口环形队列实现方案### 1.1 环形队列数据结构设计环形队列&#xff08;Ring Buffer&#xff09;是嵌入式系统中处理串口数据流的经典方案&#xff0c;其核心数据结构定义如下&#xff1a;c #define RING_BUFF_SIZE 256 // 根据实际需求调整缓冲区大小typedef str…...

Dropout、DropConnect、Standout...12种正则化变种,到底该用哪个?一份给炼丹师的避坑指南

Dropout变种全景指南&#xff1a;从理论到实战的12种策略深度解析 当你的神经网络在验证集上表现不佳时&#xff0c;第一个跳入脑海的解决方案是什么&#xff1f;对于大多数从业者来说&#xff0c;Dropout无疑是正则化工具箱中的首选武器。但你是否知道&#xff0c;标准Dropout…...

FlowState Lab 保姆级Docker容器化部署与运维实战

FlowState Lab 保姆级Docker容器化部署与运维实战 1. 前言&#xff1a;为什么选择Docker部署FlowState Lab 如果你正在寻找一种简单高效的方式来部署FlowState Lab模型&#xff0c;Docker容器化无疑是最佳选择。想象一下&#xff0c;你花了一周时间在本地调试好的模型&#x…...

ArcMap新手必看:5分钟搞定面要素的四至信息提取(附字段重命名技巧)

ArcMap新手实战&#xff1a;5分钟高效提取面要素四至信息与字段优化技巧 刚接触ArcMap的GIS实习生或规划人员&#xff0c;常常需要快速处理行政区划数据并生成规范的四至报告。面对属性表中密密麻麻的英文字段名和冗余数据&#xff0c;如何高效完成从数据加载到结果美化的全流程…...

手把手教你微调MONAI Bundle预训练模型:用TotalSegmentator数据提升CT器官分割精度

深度定制化医学影像分割&#xff1a;基于MONAI Bundle的TotalSegmentator数据微调实战 医学影像分析领域正经历着从通用模型到专用模型的范式转变。当我在去年参与一个肝脏肿瘤分割项目时&#xff0c;深刻体会到预训练模型在特定数据集上表现不佳的困境——不同医院的CT扫描协议…...

S32K144 LPUART中断接收丢字节?手把手教你用模拟空闲中断搞定Modbus RTU

S32K144 LPUART通信优化&#xff1a;模拟空闲中断实现Modbus RTU稳定传输 工业控制系统中&#xff0c;RS485总线上的Modbus RTU通信对时序和稳定性有着严苛要求。当使用NXP S32K144这类汽车级MCU时&#xff0c;开发者常会遇到一个典型问题&#xff1a;LPUART模块在连续接收多字…...

51:L构建容器与Kubernetes安全:蓝队的容器防御

作者&#xff1a; HOS(安全风信子) 日期&#xff1a; 2026-03-19 主要来源平台&#xff1a; GitHub 摘要&#xff1a; 当基拉开始攻击容器与Kubernetes环境时&#xff0c;传统的安全防御方法已无法满足需求。L开发容器与Kubernetes安全防御系统&#xff0c;保护容器环境的安全。…...