windows上的openssl aes-256加密文件在linux上无法解密

2023-11-30

我有一个在 Windows apache 上运行的 php 文档存储库应用程序,该应用程序将使用以下命令对任何上传的文档进行 aes 加密:

echo MyPass34 | openssl.exe aes-256-cbc -pass stdin -salt -in somefile.pdf -out somefile.pdf

并在下载时使用以下命令对其进行解密:

echo MyPass34 | openssl.exe aes-256-cbc -pass stdin -d -in somefile.pdf -out decriptedfile.pdf

到目前为止,该应用程序运行良好,人们在上传和下载文件时,文件在服务器上保持加密状态,现在的问题是该应用程序已移至 apache linux 服务器,现在在 Windows 上加密的文件是在linux上无法正确解密。

为什么是这样?是否可以对解密命令进行调整,以便再次正确解密该文件?

PS:在linux上加密的新文件可以正确解密,与在windows中相同,是在windows上编码在linux上解码的情况失败了。


我找到了解决方案:-),问题是 Windows echo 命令在密码末尾添加了三个字符,即空格、CR 和 LF 字符,而 linux echo 命令似乎不提供这些字符,因此 openssl 命令是未收到用于加密的相同密码。

解决方案是将这三个字符添加到 Linux 中的密码中,这是可能的,因为 echo 命令具有转义序列来插入十六进制值。因此,按照我的示例,现在在 Linux 中为我工作的正确解密命令是:

echo $'MyPass34\x20\x0d\x0a' | /usr/bin/openssl aes-256-cbc -pass stdin -d -in somefile.pdf -out decriptedfile.pdf

希望这可以帮助别人!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows上的openssl aes-256加密文件在linux上无法解密 的相关文章

  • BadPaddingException:无效的密文

    我需要一些帮助 因为这是我第一次编写加密代码 加密代码似乎工作正常 但解密会引发错误 我得到的错误是 de flexiprovider api exceptions BadPaddingException 无效的密文 in the 解密函数
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

    我有以下程序 include
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • 匹配模式后添加行[重复]

    这个问题在这里已经有答案了 我有一个文件说test具有以下值 Linux Solaris Fedora Ubuntu AIX HPUX 如何在匹配 AIX 的行后面添加一行系统主机名 如果我做 echo hostname gt gt tes
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 如何有效截断文件头?

    大家都知道truncate file size 函数 通过截断文件尾部将文件大小更改为给定大小 但是如何做同样的事情 只截断文件的尾部和头部呢 通常 您必须重写整个文件 最简单的方法是跳过前几个字节 将其他所有内容复制到临时文件中 并在完成
  • iPhone 和加密库

    我想我必须在我的 iPhone 应用程序中使用加密库 我想问你有关苹果公司实施的加密货币出口政策的影响 我需要做一些额外的事情吗 例如填写表格等 1 如果我使用 MD5 进行哈希处理 2 如果我使用对称加密 Thanks EDIT 2009
  • 尝试安装 LESS 时出现“请尝试以 root/管理员身份再次运行此命令”错误

    我正在尝试在我的计算机上安装 LESS 并且已经安装了节点 但是 当我输入 node install g less 时 出现以下错误 并且不知道该怎么办 FPaulMAC bin paul npm install g less npm ER
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • CentOS:无法安装 Chromium 浏览器

    我正在尝试在 centOS 6 i 中安装 chromium 以 root 用户身份运行以下命令 cd etc yum repos d wget http repos fedorapeople org repos spot chromium
  • 安装J语言的JQt IDE,出现错误

    我一直按照这里的说明进行操作 http code jsoftware com wiki System Installation Linux http code jsoftware com wiki System Installation L
  • 在linux上安装python ssl模块,无需重新编译

    是否可以在已经安装了 OpenSSL 的 Linux 机器上安装 python 的 SSL 模块 而无需重新编译 python 我希望它就像复制几个文件并将它们包含在库路径中一样简单 Python版本是2 4 3 谢谢 是否可以在已经安装了
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包

随机推荐

  • 如何从 Javascript 提示框获取值并将其传递到 PHP 变量以便能够保存在 SQL 中?

    这是我的问题 我希望我的脚本能够做到这一点 在用户拒绝条目 服务器端 之前 系统必须提示文本框询问拒绝的原因 然后将他们输入的原因保存到MySQL服务器 JavaScript 函数 function MyReason var reason
  • C++ 哈希弃用警告

    我对 C 和一般编程非常陌生 目前正在阅读 Bjarne Stroustrup 的编程 使用 C 的原理和实践 我一直收到以下错误 严重性代码 说明 项目文件行错误 C2338 是 已弃用并将被删除 请使用 你可以 定义 SILENCE S
  • PHP日期格式 /Date(1365004652303-0500)/

    我正在从获取日期的地方调用 API Date 1365004652303 0500 我不明白这是什么格式 这种日期格式怎么称呼 我不知道该用谷歌搜索什么来找到这种类型的格式 谁能帮我输入这个日期Y m d H i s format 我调用的
  • CalendarView android 中的小数字

    我的应用程序需要 CalendarView 但天数很少 如何让它们变大 如果有人仍然感兴趣 这是我的解决方案 基于 Phil 的帖子中提供的信息和 XSJoJo 的报告 正如那里提到的 问题的存在是因为mDateTextSize没有分配给m
  • jquery - 读取文本文件?

    我有一个 html 文件 我想打开并读取它 但我不完全确定如何做到这一点 基本上 它是一个相当大的文件 big html 并且在一个单独的文件中 Titles html 我有一些 jquery 代码 我想用它们来查找某些元素 即 h2 标签
  • Cron 表达式在该月的最后一天不起作用

    我想安排一个任务在每月最后一天上午 10 10 运行 cron 表达式是0 10 10 L 现在的问题是CronSequenceGenerator正在投掷NumberFormatException为 L 值 这意味着春天的CronSeque
  • WPF DataGrid 单元格文本换行 - 设置为 NoWrap (False)

    如何将 WPF DataGrid 中每个单元格的 TextWrapping 设置为 NoWrap 我知道单元格本身没有 TextWrapping 属性 但我想在单元格内的控件上设置该属性 我正在使用的 DataGrid 没有显式定义的列 它
  • C# 类可以从其自己的实现中调用接口的默认接口方法吗?

    如果我有一个像这样的默认接口方法 public interface IGreeter void SayHello string name gt System Console WriteLine Hello name 我可以让我的具体实现调用
  • 删除标签但保留文本

    所以我有这个 a xml 文件中的标记 a href www somethinggggg com Something 123 a 我想要的结果是使用 Nokogiri 并完全删除它的标签 这样它就不再是可点击的链接 例如 Something
  • mysql 说:无法连接:设置无效。克安普

    我更改了 root 密码进 行测试 现在我无法登录 XAMPP 中的 phpMyAdmin 页面 我寻求帮助here and here这基本上说改变了配置文件 inc php文件输入XAMPP PHPMYADMIN folder Authe
  • 如何使用 Html.BeginForm() 将 QueryString 值放入 RouteValueDictionary 中?

    我发现Html BeginForm 自动使用 RawUrl 即 QueryStringParamters 填充routeValueDictionary 但是我需要指定一个 HtmlAttribute 所以我需要使用覆盖 public sta
  • 如何动态更改applicationID

    我正在尝试通过将原始 id 附加到 GIT 分支的分支名称来更改我的 applicationId 剧本重命名ID sh完成重命名applicationID的工作 虽然我可以在运行构建时成功重命名ApplicationID 但我希望在构建后恢
  • 用概念检查属性类型

    我想检查结构 类的属性是否符合我的概念需求 但编译器抱怨 Example struct N char value auto Get return value struct M int value auto Get return value
  • 动物园管理员合奏没有出现

    我正在尝试配置 3 个节点的集合文档 它们都在 Linux Ubuntu 上 在所有三个节点上 配置文件如下所示 ZOOKEEPER HOME conf 下的zoo cfg tickTime 2000 dataDir home zkuser
  • 如何使用 jest/react-testing-library 模拟 socket.io-client

    我正在构建一个聊天应用程序 并想使用编写集成测试react testing library并且不知道如何嘲笑socket io client s socket on socket emit etc 我尝试按照这个article并尝试使用模拟
  • PHP 在按钮单击时执行 Python 脚本

    我正在使用 php 有一个按钮刷新 python 脚本 这样做的目的是当存在某个输入并按下按钮时 运行 python 脚本 如果没有用户输入 则有一个默认值 input val 万一 我一直在尝试测试这个的方法是在我的 python 文件中
  • 将 div 动画至 100% 高度

    我试图将 div 动画化为其内容的 100 但它只是闪烁 而不是为 div 动画化 背景在动画结束时消失 我很困惑 因为当我输入高度数字而不是百分比时它会起作用 artbutton click function event event pr
  • Three.js - 将网格速度转换为网格旋转

    假设我有一个 Three js 网格和一个速度向量 3 速度在其他地方发生改变 然后每帧添加到网格位置 我想要的是 mesh rotation 与速度相对应 即网格是一个始终指向其前进方向的箭头 这是我尝试过的两种方法 使网格旋转 是的 但
  • 在Asp.net MVC4(Razor)中根据用户角色隐藏和显示Layout.cshtml的div标签

    我有一个母版页 其中有一些用于称为用户的角色的菜单 其他菜单用于管理员的角色 所以我愿意检查用户的角色 并显示一些 div 标签并隐藏其他标签用户角色的基础 因为 我们没有layout cshtml的控制器 所以我如何为布局视图设置view
  • windows上的openssl aes-256加密文件在linux上无法解密

    我有一个在 Windows apache 上运行的 php 文档存储库应用程序 该应用程序将使用以下命令对任何上传的文档进行 aes 加密 echo MyPass34 openssl exe aes 256 cbc pass stdin s