OpenSSL“错误读取输入文件”和“坏幻数”

时间:2013-07-07 17:33:26

标签: openssl

我正在尝试加密一个简单的字符串“Hello world”。使用OpenSSL命令行工具。我已经尝试使用base64和binary加密。但是我得到了一些无用的错误。

$ "Hello world." > plain.txt
$ openssl enc -aes-128-ecb -e -base64 -in plain.txt > enc.txt
enter aes-128-ecb encryption password:
Verifying - enter aes-128-ecb encryption password:
$ cat enc.txt
U2FsdGVkX18ZoAY34fL2aMO0Bu5AJnewemhfiBmSL1IJujqOtpJm7V0C+Tt83egJ
$ openssl enc -aes-128-ecb -d -base64 -in enc.txt > out.txt
enter aes-128-ecb decryption password:
error reading input file

然后我尝试二进制

$ "Hello world." > plain.txt
$ openssl enc -aes-128-ecb -e -in plain.txt > enc.bin
enter aes-128-ecb encryption password:
Verifying - enter aes-128-ecb encryption password:
$ openssl enc -aes-128-ecb -d -in enc.bin > out.txt 
enter aes-128-ecb decryption password:
bad magic number

2 个答案:

答案 0 :(得分:2)

马克,我看不出你的命令有什么问题。他们都在我的系统上运行良好。所以问题必定在其他地方。

我建议尝试使用不同的OpenSSL安装/版本,或者使用其他系统。

答案 1 :(得分:1)

我想也许你的命令没有错,因为这些天我遇到了同样的问题。 TXT文件无法自动更改为第二行,因此,您需要在密文末尾输入“输入”并保存文本。然后,您可以再次输入命令。

  

$ openssl enc -des -d -base64 -in atxt> a2.txt

     

输入des-cbc解密密码:

enter image description here