CryptoJS AES-128-ECB 和 PHP openssl_encrypt 不匹配

2024-01-03

我有一些 PHP 代码,无法编辑,还有一个充满加密消息的数据库。

$key = '297796CCB81D2553B07B379D78D87618'
return $encrypted = openssl_encrypt($data, 'AES-128-ECB', $key);

我必须编写一些 JS 代码来加密和解密这些消息。我正在使用 CryptoJS 来达到这个目的。

const key = '297796CCB81D2553B07B379D78D87618'
let k = CryptoJS.enc.Base64.parse(key)
let cypher = CryptoJS.AES.encrypt(this.text, k, {mode: CryptoJS.mode.ECB})
this.cypher = CryptoJS.enc.Base64.stringify(cypher.ciphertext)

我无法让这些代码产生相同的结果。对于“测试”字符串,我得到以下结果:JS: H1AG6j/i/iSqifSNCG5JKw==, PHP: Nqrur4UMEicEMwJC39qq0A==

我尝试了 3 天来解决这个问题,但找不到问题所在。 我唯一可以编辑的代码是JS。


我明白是什么问题了。 PHP 中的 openssl_encrypt 将密钥视为 UTF-8 字符串。获取足够的长度后,它会忽略下一个字符,因此我们的密钥:“297796CCB81D2553B07B379D78D87618”修剪为“297796CCB81D2553”。 这段代码正在运行:

// JS 
const key = '297796CCB81D2553'
let k = CryptoJS.enc.Utf8.parse(key)
let cypher = CryptoJS.AES.encrypt(this.text, k, {mode: CryptoJS.mode.ECB})
this.cypher = CryptoJS.enc.Base64.stringify(cypher.ciphertext) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CryptoJS AES-128-ECB 和 PHP openssl_encrypt 不匹配 的相关文章

  • PHP:CURL 可以遵循元重定向吗

    CURL 可以使用 CURLOPT FOLLOWLOCATION 遵循标头重定向 但是否可以遵循元刷新重定向 Thanks 是的 但您必须自己解析响应并查找类似以下内容 Obeying 刷新请求是浏览器端的事情 使用DOM解析来查找cURL
  • 处理重叠 SVG 图层中的鼠标事件

    我正在使用 d3 js 构建地图可视化 我正在为美国各州和县绘制填充多边形 县的 SVG 图层位于州图层下方 状态已填充 但填充不透明度设置为 0 我认为 需要填充来捕获点击事件 我想捕获州级的点击事件 但我想捕获县级的鼠标悬停事件 但是
  • 获取顶部框架的 URL

    在 Facebook 应用程序中 我需要检查顶部框架 主窗口 URL 是什么 并相应地显示内容 我尝试使用以下内容 if top location toString toLowerCase indexOf facebook com lt 0
  • 确定是否单击了 Google Chrome 打印预览中的打印/取消按钮

    我一直在使用下面的代码打印我的页面 window print 下图是 Google Chrome 浏览器中的打印预览的样子 它有两个主要按钮 print and cancel 我想知道用户是否点击了print or cancel纽扣 我所做
  • 将图像嵌入 Chrome 扩展程序

    我正在构建一个 Google Chrome 扩展 它将 HTML 注入到真实的网页中 注入还包含图像 现在我想知道如何在扩展中引用图像 到目前为止 我只能在服务器上使用它们来引用它们http example com myimage png
  • 删除添加空值的Javascript对象项[重复]

    这个问题在这里已经有答案了 我有一个 JavaScript 对象 finalTitleList Title ffd Iscompleted Id 0 Title fdfmdbk Iscompleted Id 1 Title fdf d Is
  • PHP 中的依赖注入

    我一直在研究依赖注入 我是在关注某件事还是完全没有关注 代码是好是坏 依赖注入与否 下面的代码是CMS系统的基础 现在有一个名为 page details 的表 其中存储了所有网页 目录 文件结构 htaccess index php cl
  • 反应:无效的挂钩调用。钩子只能在函数组件体内调用

    我花了两天时间试图了解错误在哪里 知道吗 App js import React useState useEffect from react import Menu from components Menu function App ret
  • 通过 javascript 从 获取点击坐标

    Example
  • mysql 触发器与 php 脚本

    我有下一个 mysql 触发器 DELIMITER CREATE TRIGGER Test Insert BEFORE INSERT ON sat clientLocation FOR EACH ROW BEGIN DECLARE cmd
  • 根据传单中的属性更改标记颜色

    我的目标是让我的标记根据它们的不同而采用三种不同的颜色rating财产 我看过类似的帖子 其中使用对象来定义颜色 每个标记都有一个rating属性在 1 到 5 之间 我正在考虑使用 else if 语句 例如 if rating lt 3
  • 自动打开默认电子邮件客户端并预填充内容

    当用户在页面上保存某些内容时 我需要自动打开用户的默认电子邮件客户端 我需要填充电子邮件主题 地址并在电子邮件正文中添加一些内容 实现这一目标的最佳选择是什么 我知道mailto 属性 但用户必须单击此属性 我不确定它是否允许您指定主题和内
  • Javascript:如何捕获使用 window.location.href = url 导航到的页面上的错误

    我正在使用 REST 服务生成一个 CSV 文件 我想提示用户下载该文件 该服务的示例如下 https localhost 8444 websvc exportCSV viewId 93282392 为了提示用户下载文件 我使用以下代码 w
  • CSS3 Marquee / Ticker 动画最后没有空格

    我正在用 2 个项目集合构建字幕 旋转木马效果 循环两者item collection跨越translateX并不难 这里是小提琴 http jsfiddle net k1k3h2p0 但我不喜欢每个循环末尾的空白区域 知道两个集合的宽度可
  • 如何使用 javascript 获取 html5 视频的缩略图?

    我找到了根据 URL 获取视频缩略图的 JavaScript 代码 不过 我只在 YouTube 和 Vimeo 上找到了这个 似乎没有人列出如何处理旨在嵌入 html5 视频标签的视频的示例 能做到吗 谢谢 是的 您可以使用视频作为画布的
  • 无法使用 Alamofire 在 swift 3 中上传图像

    我在尝试让 Alamofire 上传图像时被困了三天 这个想法是 Alamofire 将其与一些 php 代码一起发送到服务器 经过大量尝试和查看不同的地方后 一些代码应该可以工作 但是 Alamofire 的服务器端文档很糟糕 最近对 s
  • 如何使用 mod rewrite / htaccess 创建具有两个或多个参数的友好 URL?

    新手在这里重写Mod 我想在 URL 中传递两个 URL 参数 但采用更友好的格式 如果用户通过 example com blah123 sys 在本例中我应该能够提取 MySQL 记录 blah123 和模式类型 sys 这是例子 URL
  • 如何使用 php $row 检索 sql 日期时间对象?

    例如 sql SELECT FROM db query sqlsrv query conn sql while row sqlsrv fetch array query echo row date column 会崩溃 我找到的大多数答案都
  • npm run dev 和 npm run production 之间的区别

    我对 Laravel 和 vue js 很陌生 请让我知道它们之间有什么区别npm run dev and npm run production 这和环境有关系吗 npm run dev创建源映射并且不会缩小 js css 这使得调试和查找
  • 如何使用 PHP 读取/显示 XML

    有没有办法使用 PHP 读取 external xml 来自不同网站的 xml 文件 我知道有一种方法可以使用 JavaScript 读取 XML 但前提是它们都位于同一根目录中 您能否提供有关如何获取 xml 文件的示例 然后阅读以下内容

随机推荐

  • 在 Xcode ≥ 7.3 中处理私有框架

    在 Xcode 7 3 iOS 9 3 中 Apple 删除了所有私有框架 https developer apple com library ios releasenotes DeveloperTools RN Xcode Chapter
  • 控制台应用程序中的倒计时器[重复]

    这个问题在这里已经有答案了 我有一个控制台应用程序 我想创建一个倒计时器 这是我尝试过的 static void Main string args for int a 10 a gt 0 a Console Write Generating
  • 如何使用 VBScript 比较数组与数组?

    我想检查我的文件中的数据是否存在于我拥有的数组数据中 如果退出则返回1 退出则返回0 我的文件里面是这样的 2j2H4F6d9d0d3hdfasgt y7 但我剪掉了最后两行 我的数组数据是这样的 2w fr 5k 2j 0w 我想检查我的
  • 编辑我的 ReactJS Webpack 配置文件时出现“语法错误:意外的严格模式保留字”

    我试图按照此问题答案中的说明来修复无效主机错误 远程连接到 webpack dev server 时收到 无效主机标头 消息 https stackoverflow com questions 43619644 i am getting a
  • 谷歌地图:标记边界

    我正在尝试在 Google 地图上将照片显示为标记 通过将标记重新定义为图像 这没有问题 但我想添加某种边框或阴影以使它们更好地突出 像谷歌照片这样的东西是最好的 但我想这太复杂了 如果可能的话 一个简单的 1px 实心边框就可以了 一种选
  • JQuery:.val() 不适用于文本区域

    我正在尝试读取文本区域的内容 但是 val 不适用于我的文本区域 如果有人为我提供解决方案 我会很高兴 这是我的代码 HTML
  • 如何自定义/设计 UIPopoverController

    我正在开发 iPad 应用程序 并且正在使用 UIPopoverControllers 我正处于应用程序需要品牌化和样式化的部分 我想知道如何更改 UIPopoverController 的颜色 色调 标准是深蓝色 但它需要是其他颜色 这可
  • 在输出到控制台之前在 Spark Structured Streaming 上处理数据

    我会尽量保持简单 我定期从 kafka 生产者读取一些数据 并使用 Spark 结构化流输出以下内容 我有这样输出的数据 window timestamp Online Emp Available Emp
  • 何时在 javascript OO 中使用它?

    在 Javascript OO 中 我什么时候应该使用this关键词 另外 如果我想从同一个类的另一个方法调用一个类的方法 我应该使用this或者只是函数的名称 例如 这是正确的吗 function Foo this bar functio
  • 角度材质数据表排序不起作用/未显示箭头

    我正在尝试对我的角度材料数据表进行排序 它正确显示数据 但排序不起作用 它甚至没有在标题旁边显示小箭头来指示它正在排序 这是我的组件 import Component OnInit ViewChild AfterViewInit from
  • 带有多条消息的连续滚动股票/选取框 - 需要 JS 插件吗?

    我想要实现的一个很好的例子是股票行情效应https aboutface com https aboutface com 根据我不久前看到的另一个例子 我想出了这个 但正如您所看到的 消息被裁剪 并且您在屏幕上看不到第二条消息 滚动 可见区域
  • 磁铁模式和重载方法

    对于非重载和重载方法 Scala 解决 磁铁模式 隐式转换的方式存在显着差异 假设有一个特质Apply 磁铁图案 的变体 实施如下 trait Apply A def apply A object Apply implicit def fr
  • Go 正则表达式中的转义括号

    我想在 Go 中的字符串上运行以下正则表达式 0 9 0 9 0 9 但我不断收到错误unknown escape sequence 我运行它的字符串是 1 53 38 45 2 88 62 98 3 78 48 3 4 72 30 76
  • Xcode 模拟器表视图是黑色的

    当在模拟器中运行我的 Xcode 项目时 我的UITableView in my UIViewController not UITableViewController 是黑色的 这是我的模拟器的图像 我的代码cellForRowAtInde
  • 字符数组后出现奇怪的字符

    我是 C 的真正初学者 但我正在学习 我以前偶然发现过这个问题 并决定询问其原因是什么 请解释你的答案 以便我学习 我制作了一个程序 允许您输入 5 个字符 然后显示您编写的字符并恢复它们 例如 asdfg gfdsa 奇怪的是 输入的原始
  • 如何处理 x86 与 x64 软件包

    We use NuGet管理我们的第三方包 我们还必须建立x86 and x64 builds 我们现在依赖于NuGet包裹 zeromq 依赖于 C dll 因此有一个x86 and x64发布 在 Nuget 中搜索时 我只看到两个不同
  • Express 使用高级服务,无法创建全文索引

    我已经安装了 SQL Server 2012 Express Edition 高级服务 其中声明它包含全文索引 这是一个链接 说明了这一点 http msdn microsoft com en us library cc645993 asp
  • 如何从 SQL Server 获取 DateTime 数据而忽略时区问题?

    我的情况是我们将数据存储在SQL Server数据库中 支持2005年以上 当存储 DateTime 值时 它是客户端的本地时间 我需要能够在任何其他客户端上取回该日期 无论其他客户端可能位于哪个时区 例如 当纽约的用户输入 2012 12
  • 根据模板参数引用不同基类的函数

    include
  • CryptoJS AES-128-ECB 和 PHP openssl_encrypt 不匹配

    我有一些 PHP 代码 无法编辑 还有一个充满加密消息的数据库 key 297796CCB81D2553B07B379D78D87618 return encrypted openssl encrypt data AES 128 ECB k