小编max*_*dap的帖子

OpenSSL字符串解密问题

我会尝试尽可能简洁.

我希望能够使用OpenSSL加密和解密简单的字符串,这是我之前所做的.

但是,必须满足以下条件:

  • 使用简单密码(无密钥)
  • 没有输入/输出文件
  • 没有提示密码短语(通过任一方向的命令行选项指定)

我在那里50%.我可以通过以下方式成功执行ENCRYPTION:

echo 'someTextIWantToEncrypt' | openssl enc -e -aes-256-cbc -nosalt -pass pass:mySecretPass
Run Code Online (Sandbox Code Playgroud)

输出结果是:

(??b}n??v???>??G??.?B??~?
Run Code Online (Sandbox Code Playgroud)

太好了.现在我想解开那个字符串.所以我这样做:

echo -n '(??b}n??v???>??G??.?B??~?' | openssl enc -d -aes-256-cbc -pass pass:mySecretPass
Run Code Online (Sandbox Code Playgroud)

甚至作为替代方案:

openssl enc -d -aes-256-cbc -pass pass:mySecretPass <<< '(??b}n??v???>??G??.?B??~?'
Run Code Online (Sandbox Code Playgroud)

但我得到了这样的答复:

bad magic number
Run Code Online (Sandbox Code Playgroud)

虽然我不想使用输入/输出文件,但该方法100%工作:

# encrypt to file
echo -n 'someTextIWantToEncrypt' | openssl enc -e -nosalt -out test.txt -aes-256-cbc -pass pass:mySecretPass 

# decrypt from file
openssl enc -d -nosalt -in test.txt -aes-256-cbc -pass pass:mySecretPass

# result of decryption (is successful): …
Run Code Online (Sandbox Code Playgroud)

encryption openssl cryptography

17
推荐指数
1
解决办法
4万
查看次数

标签 统计

cryptography ×1

encryption ×1

openssl ×1