1

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

$ "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
4

2 回答 2

2

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

我建议尝试不同的 OpenSSL 安装/版本,或不同的系统。

于 2013-07-07T21:13:01.763 回答
1

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

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

输入des-cbc解密密码:

在此处输入图像描述

于 2016-02-04T05:47:54.550 回答