gpt4 book ai didi

php - 在命令行上用 PHP openssl_encrypt 解密文件

转载 作者:太空狗 更新时间:2023-10-29 11:47:46 27 4
gpt4 key购买 nike

我有一个字符串要加密:

$encryptThis = "Super Secret Text";
echo openssl_encrypt($encryptThis, 'aes-128-cbc', '1234', FALSE, 'F68A9A229A516752');

然后我 wget 得到那个 php 文件,最后得到一个看起来像 base64 字符串的东西。

当我尝试在命令行上对其进行解码时,我得到“读取输入文件时出错”。我用来尝试解密的命令是:

openssl aes-128-cbc -a -iv F68A9A229A516752 -d -in encrypted.txt -out decypted.txt

encrypted.txt 是我保存我输入的文件的文件名。我错过了什么?

最佳答案

文件 encrypted.txt 的格式不适合命令行 OpenSSL。它期望您的数据以字符串 Salted__ 开头,后跟盐。您的文件没有这种格式,因此 OpenSSL 打印“错误读取输入文件”(来自 OpenSSL 源代码中的 apps/enc.c)。

请注意,在 Base64 文件中, header 不是纯文本 Salted__,而是 U2FsdGVkX1

从命令行执行 cat encrypted.txt 并查看其中包含的内容。

(我不知道 PHP 的 openssl_encrypt 是否应该以这种格式生成输出,但如果它只是 OpenSSL 命令行实用程序的一个薄包装,我会假设是这样。)

关于php - 在命令行上用 PHP openssl_encrypt 解密文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4511443/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com