我会尽量使这个简洁。
我希望能够使用我以前做过的 OpenSSL 加密和解密简单的字符串。
但是,必须满足以下条件:
- 简单的密码短语使用(无密钥)
- 没有输入/输出文件
- 不提示输入密码(通过命令行选项指定任一方向)
我有 50% 在那里。我可以通过以下方式成功执行加密:
echo 'someTextIWantToEncrypt' | openssl enc -e -aes-256-cbc -nosalt -pass pass:mySecretPass
输出结果为:
(??b}n??v???>??G??.?B??~?
好,很好。现在我想解密那个字符串。所以我这样做:
echo -n '(??b}n??v???>??G??.?B??~?' | openssl enc -d -aes-256-cbc -pass pass:mySecretPass
甚至作为替代方案:
openssl enc -d -aes-256-cbc -pass pass:mySecretPass <<< '(??b}n??v???>??G??.?B??~?'
但我得到了这样的回应:
bad magic number
虽然我不想使用输入/输出文件,但该方法确实 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):
someTextIWantToEncrypt
那么......如何在不使用任何输入/输出文件的情况下实现上述解密过程?我觉得我很接近,但缺少一些小细节。
提前致谢。