当前位置: 首页 > 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…...

Windows记事本CVE-2026-20841漏洞分析:从命令注入根因、全链路攻击链到企业级纵深防御的全维度深度复盘

在Windows系统的生态里&#xff0c;从来没有一款工具能像记事本一样&#xff0c;拥有长达40年的“绝对安全”共识。 从1985年Windows 1.0首次预装&#xff0c;到如今Windows 11的全版本覆盖&#xff0c;这个仅数百KB的纯文本编辑器&#xff0c;始终是全球用户记录备忘、清理格…...

3步诊断与优化:使用NVIDIA Profile Inspector解决显卡性能瓶颈

3步诊断与优化&#xff1a;使用NVIDIA Profile Inspector解决显卡性能瓶颈 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector作为一款专业的显卡驱动级配置工具&#xff0c;能够…...

Magisk完整实践指南:从Root权限获取到系统级定制

Magisk完整实践指南&#xff1a;从Root权限获取到系统级定制 【免费下载链接】Magisk The Magic Mask for Android 项目地址: https://gitcode.com/GitHub_Trending/ma/Magisk Magisk作为Android系统Root权限管理的主流解决方案&#xff0c;提供了系统级定制能力而无需修…...

永磁同步电机这玩意儿现在工业上用得是真多,今天咱们来点硬核的,手搓个IPMSM的数学模型。先别急着关页面,代码实现和调试坑点都给你备好了

IPMSM数学模型&#xff0c;模拟电机对不同输入的响应&#xff0c;包含速度环和电流环&#xff0c;输出电流转速和转矩。先甩几个核心方程镇楼。d-q轴电压方程&#xff1a; def voltage_equation(t, state, Vd, Vq):id, iq, w_r, theta stateVd ... # 这里放你的控制算法输出V…...

Wan2.2-T2V-A5B开发环境配置:IntelliJ IDEA远程调试与GPU服务器连接

Wan2.2-T2V-A5B开发环境配置&#xff1a;IntelliJ IDEA远程调试与GPU服务器连接 你是不是也遇到过这种烦恼&#xff1f;本地电脑性能有限&#xff0c;跑个稍微大点的模型就卡成幻灯片&#xff0c;风扇呼呼作响&#xff0c;感觉下一秒就要起飞。但代码和模型都部署在远端的GPU服…...

BAGEL终极指南:解密多模态AI模型的三大核心组件协同机制

BAGEL终极指南&#xff1a;解密多模态AI模型的三大核心组件协同机制 【免费下载链接】Bagel BAGEL是一个开源的多模态基础模型&#xff0c;拥有70亿个活跃参数&#xff08;总共140亿个&#xff09;&#xff0c;在大规模交错的多模态数据上进行了训练。BAGEL在标准的多模态理解排…...

打造沉浸式音乐体验:Apple Music-Like Lyrics 全栈技术指南

打造沉浸式音乐体验&#xff1a;Apple Music-Like Lyrics 全栈技术指南 【免费下载链接】applemusic-like-lyrics 一个基于 Web 技术制作的类 Apple Music 歌词显示组件库&#xff0c;同时支持 DOM 原生、React 和 Vue 绑定。 项目地址: https://gitcode.com/gh_mirrors/ap/a…...

二叉树面试送分题|力扣101对称+226翻转(递归极简写法,手写无压力)

兄弟们&#xff01;二叉树面试中&#xff0c;有两道“送分题”必须拿捏——力扣101.对称二叉树和力扣226.翻转二叉树。这两道题难度不高&#xff0c;核心都能用递归轻松解决&#xff0c;代码简洁、逻辑直观&#xff0c;新手练一遍就能记住&#xff0c;面试手写直接加分&#xf…...

RimSort:重新定义RimWorld模组管理的智能工具

RimSort&#xff1a;重新定义RimWorld模组管理的智能工具 【免费下载链接】RimSort 项目地址: https://gitcode.com/gh_mirrors/ri/RimSort 当你花费数小时手动调整上百个RimWorld模组的加载顺序&#xff0c;却依然遭遇游戏崩溃时&#xff1b;当你在多个平台间切换下载…...

用OpenMV和STM32F765VI做个追球小车:从硬件接线到PID调参的保姆级避坑指南

从零打造智能追球小车&#xff1a;OpenMV与STM32F765VI实战全解析 1. 项目构思与硬件选型 第一次尝试用视觉识别做智能小车时&#xff0c;我对着满桌子的开发板和传感器发愁——到底哪些组合才能既省钱又高效&#xff1f;经过三个版本的迭代&#xff0c;这套基于STM32F765VI和O…...