openssl - 为什么 Mac 和树莓派上的 openssl rsautl 会产生不同的结果?
问题描述
我目前正在尝试加密树莓派 (a) 上的文件,然后在 Mac (b) 上解密文件。
我正在运行以加密(a)上的文件的命令是
openssl enc -aes-256-cbc -e -in [FILE] -out [ENC_FILE]
我正在运行以解密(b)上的文件的命令是
openssl enc -aes-256-cbc -d -in [ENC_FILE] -out [DEC_FILE]
但是,当我运行第二个命令时,出现错误:
bad decrypt
140736032883756:error:06FFF064:digital envelope routines:CRYPTO_internal:bad decrypt:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.200.3/libressl-2.6/crypto/evp/evp_enc.c:533:
当我用两台 Mac 尝试这个时,它工作正常。
我的 Mac 正在运行带有 openssl 版本的High Seirra
LibreSSL 2.6.4
我的 Raspberry Pi 正在运行带有 openssl 版本的Raspbian GNU/Linux 9 (stretch)
OpenSSL 1.1.0f 25 May 2017
进一步研究这一点,我在两台机器上使用相同的密码(使用 -nosalt)加密了包含文本hello的同一个文件。这是输出:
一个)
00000000 f6 b2 6f c7 2b 2c 8d ea be 83 5f b1 53 9f 65 91 |..o.+,...._.S.e.|
00000010
b)
00000000 cc b7 e4 68 ee 8d 38 65 3b 5e ab 98 5d 09 18 95 |...h..8e;^..]...|
00000010
解决方案
推荐阅读
- java - 从 Oracle JDK 迁移到 OpenJDK
- python - Tableau嵌入式数据源刷新使用python
- jquery - 带有 select2 功能的 attr
- angular - 如何访问和处理@ViewChildren?
- cratedb - 错误 - 不匹配的输入 'SWAP' 期望在 CrateDB 中用于 Alter Cluster 查询的 'REROUTE'
- azure-pipelines - 修改 Azure DevOps 管道队列时间变量
- java - 在android应用程序中录制音频时如何解决java.lang.IllegalStateException
- javascript - 如何使 RobotFramework 关键字的 Execute JavaScript 返回值
- linux - Amazon EC2 Linux - Azure devops 代理安装在运行配置文件时引发错误
- google-cloud-platform - 为什么我无法访问 GCP 活动云 shell?