我需要使用 加密并能够解密文件openssl
,目前我只需使用:
openssl enc -aes-256-cbc -salt -in "$input_filename" -out "$output_filename"
和解密:
openssl enc -aes-256-cbc -d -salt -in "$input_filename" -out "$output_filename"
但是对于大文件,我希望看到进展。
我尝试了以下(解密)的不同变体:
pv "$input_filename" | openssl enc -aes-256-cbc -d -salt | pv > "$output_filename"
但这没有要求我输入密码。我不确定该怎么做?
编辑1:
我发现tar
了这个openssl
:
https://stackoverflow.com/a/24704457/1997354
虽然它可能非常有帮助,但我并没有得到太多。
编辑2:
关于命名管道:
它几乎可以工作。除了闪烁的进度,我无法清楚地向您展示,最终结果如下所示:
enter aes-256-cbc decryption password:
1.25GiB 0:00:16 [75.9MiB/s] [==============================================================================================================================================================================================>] 100%
1.25GiB 0:00:10 [ 126MiB/s] [ <=> ]
你应该试试
从手册:
这正是你的情况。如果你需要看进度条,由于周伟君在下面的评论中清楚地解释了原因,你可以颠倒管道中命令的顺序:
您需要在这里命名管道。
这两个
pv
命令的输出将交替显示在 tty 窗口的底部。不过,不确定它是否是您真正需要的。如果您只需要pv
in的输出,请相应地pv "$input_filename"
修改上述命令。编辑
从 OP 获得更多信息后,我现在确信
足以解决OP的实际需求。