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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenSSL一行base64输入。读取输入文件时出错相关的知识,希望对你有一定的参考价值。

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

但是当我使用时:

openssl enc -d -a -aes-256-cbc -in encrypted -out decrypted

OpenSSL抛出“错误读取输入文件” 但是base64 util解密它就像一个魅力:

base64 -d encrypted | openssl enc -d -aes-256-cbc > decrypted

试图找到原因并转换为单行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

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

答案

加密

openssl enc -aes-256-cbc -pass pass:YOURPASSWORD -p -in msg.txt -out enc.txt -base64

解码

openssl enc -aes-256-cbc -base64 -pass pass:YOURPASSWORD -d -p -in enc.txt -out dec.txt

如果在newline行之后加密文件中没有base64,则会出现error reading input file错误。

以上是关于OpenSSL一行base64输入。读取输入文件时出错的主要内容,如果未能解决你的问题,请参考以下文章

从标准输入解码多个base64字符串

使用openssl BIO逐块进行base64解码

base64加密linux去除分隔符

openssl pem转cer文件 并用base64编码解码过程

OpenSSL测试-Base64

OpenSSL生成公私钥