encryption - 以字节为单位转换密钥以与 openssl 一起使用 - 'bad magic number'
问题描述
我正在尝试解密受 AES 保护的 XML。我有用于加密它的密钥,但正在努力将其应用于解密过程。这是练习的一部分,并且相应地提供了密钥。
使用的密钥(字节)是:
[0]:137
[1]:67
[2]:248
[3]:114
[4]:168
[5]:126
[6]:229
[7]:255
[8]:147
[9]:249
[10]:177
[11]:191
[12]:131
[13]:184
[14]:242
[15]:194
[16]:93
[17]:98
[18]:209
[19]:245
[20]:211
[21]:122
[22]:198
[23]:89
[24]:15
[25]:215
[26]:137
[27]:237
[28]:193
[29]:202
[30]:126
[31]:50
我正在努力做到这一点。使用 node 将上述内容转换为可与 openSSL 一起使用的密码时,出现错误:bad magic number
.
将上述内容转换为 base64 字符串的节点代码:
const bytes = [137, 67, 248, 114, 168, 126, 229, 255, 147, 249, 177, 191, 131, 184, 242, 194, 93, 98, 209, 245, 211, 122, 198, 89, 15, 215, 137, 237, 193, 202, 126, 50];
const base64Key = new Buffer.from(bytes).toString('base64'); // iUP4cqh+5f+T+bG/g7jywl1i0fXTesZZD9eJ7cHKfjI=
我用来尝试解密文件的 openssl 命令(使用上面的输出):
openssl enc -aes-256-cbc -base64 -pass pass:iUP4cqh+5f+T+bG/g7jywl1i0fXTesZZD9eKfjI= -d -p -in secretmessage.txt -out notsosecret.txt // bad magic number
我不确定我哪里出错了,但是这bad magic number
让我相信我没有正确阅读提供的密钥。问题:
- 我关于密钥被误读的假设是否正确?
- 密钥是否正确但使用不正确?
- “坏幻数”是否完全意味着其他东西?
提前致谢!
解决方案
推荐阅读
- php - 3 位数的碳计数小时数
- biztalk - 交货通知失败问题
- sql - 连接三个具有不同计数总和的表时如何包括上次更新日期
- firebase - 与 firebase 的对话流连接错误:Webhook 调用失败。错误:请求超时
- php - 如何使用 php echo 和 $_SESSION 变量在 html 中打印图像?
- php - docker container python subprocess.Popen php5.6 script 是否可以执行?
- python - 让python作业字典程序正确保存和退出
- mysql - Hibernate:删除父实体触发对子实体的更新查询
- java - 找到多个文件,其独立于操作系统的路径为“javax/annotation/meta/TypeQualifier.java”
- flowtype - 如何键入注释“函数包装器”(返回具有与其参数相同签名的函数的函数)