Estou escrevendo um script básico que canaliza um arquivo através do visualizador de canais para observar o 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 na entrada.
Não é suportado de nenhuma forma:
$ 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.
O Aescrypt é anunciado para suportar totalmente o pipeline Linux. No meu conhecimento, o pv conta apenas quais dados estão passando por ele, mas não o modifica. O que há de errado aqui?
Tags bash encryption