Eu estou escrevendo um script bash que canaliza um arquivo através do visualizador de pipe para assistir ao progresso da criptografia. No entanto, sempre que eu uso aescrypt no pipeline com pv, recebo um erro sobre não corresponder senhas. Se a senha é explicitamente especificada em texto simples na linha de comando, eu não tenho esse problema (obviamente), mas isso é muito inseguro. BTW, minha senha de teste era o caractere único 'a', então eles realmente combinavam com a entrada.
Não é suportado de qualquer maneira:
$ pv -cN Encryption test.tar | aescrypt -e - -o test.tar.aes
Enter password:
Re-Enter password:
Error: Passwords don't match.
$ aescrypt -e test.tar | pv -cN Encryption >| test.tar.aes
Enter password:
Re-Enter password:
Error: Passwords don't match.
No entanto, isso funciona corretamente (sem pv):
$ cat test.tar | aescrypt -e - -o test.tar.aes
Isso funciona também (bem, grava o arquivo corretamente):
$ cat test.tar | pv -cN encryption | aescrypt -e - -o test.tar.aes
Enter password: a
Re-Enter password: a
Quando coloco a senha, ela é exibida em texto simples na tela.
Aescrypt é anunciado para suportar totalmente o pipeline Linux. Pelo que sei, o pv conta apenas quais dados estão passando por ele, mas não o modifica. O que há de errado aqui?