Preciso criptografar e poder descriptografar arquivos com openssl
, atualmente faço isso simplesmente com:
openssl enc -aes-256-cbc -salt -in "$input_filename" -out "$output_filename"
e a descriptografia com:
openssl enc -aes-256-cbc -d -salt -in "$input_filename" -out "$output_filename"
Mas com arquivos grandes, gostaria de ver o progresso.
Eu tentei diferentes variações do seguinte (descriptografia):
pv "$input_filename" | openssl enc -aes-256-cbc -d -salt | pv > "$output_filename"
Mas isso não me pede uma senha. Estou em dúvida de como proceder?
EDIÇÃO1:
Eu encontrei isso tar
sobre openssl
:
https://stackoverflow.com/a/24704457/1997354
Embora possa ser extremamente útil, não entendo muito.
EDIT2:
Em relação ao tubo nomeado:
Quase funciona. Exceto pelo progresso piscando , que obviamente não posso mostrar e o resultado final ficou assim:
enter aes-256-cbc decryption password:
1.25GiB 0:00:16 [75.9MiB/s] [==============================================================================================================================================================================================>] 100%
1.25GiB 0:00:10 [ 126MiB/s] [ <=> ]
Você deveria tentar
Do Manual :
que é exatamente o seu caso. Se você precisar ver a barra de progresso, pelo motivo claramente explicado por Weijun Zhou em um comentário abaixo, você pode inverter a ordem dos comandos no pipe:
Você precisa de pipe nomeado aqui.
A saída dos dois
pv
comandos será exibida alternadamente na parte inferior da janela tty. Não tenho certeza se é o que você realmente precisa, no entanto. Se você precisar apenas da saída dopv
inpv "$input_filename"
, modifique o comando acima de acordo.Editar
Depois de obter mais informações do OP, agora tenho certeza de que
é suficiente para atender às reais necessidades do OP.