OpenSSL一行base64输入.读取输入文件时出错

br.*_*br. 9 encryption base64 openssl line-breaks multiline

我有AES加密文件,它编码为base64单行字符串(没有分隔线),需要解密它.这里是.

但是当我使用时:

openssl enc -d -a -aes-256-cbc -in encrypted -out decrypted
Run Code Online (Sandbox Code Playgroud)

OpenSSL抛出"错误读取输入文件"
但是base64 util会像魅力一样解密它:

base64 -d encrypted | openssl enc -d -aes-256-cbc > decrypted
Run Code Online (Sandbox Code Playgroud)

试图找到原因并转换为单行base64文件:

base64 -w 0 aesfile | openssl enc -d -a -aes-256-cbc > decrypted
# error reading input file

base64 aesfile | openssl enc -d -a -aes-256-cbc > decrypted
# no errors, file decrypted
Run Code Online (Sandbox Code Playgroud)

结论:OpenSSL无法解码非多线base64输入

Geo*_*aph 9

加密

openssl enc -aes-256-cbc -pass pass:YOURPASSWORD -p -in msg.txt -out enc.txt -base64
Run Code Online (Sandbox Code Playgroud)

解码

openssl enc -aes-256-cbc -base64 -pass pass:YOURPASSWORD -d -p -in enc.txt -out dec.txt
Run Code Online (Sandbox Code Playgroud)

如果在行newline之后加密文件中没有base64,则会收到错误消息error reading input file.

  • 即:被解密的 base64 字符串需要尾随换行符。感谢您提供此解决方案! (2认同)