Tôi đang viết một tập lệnh bash chuyển một tập tin qua trình xem ống để xem tiến trình mã hóa. Tuy nhiên, bất cứ khi nào tôi sử dụng aescrypt trong đường ống với pv, tôi sẽ gặp lỗi về việc không khớp mật khẩu. Nếu mật khẩu được chỉ định rõ ràng trong bản rõ trên dòng lệnh, tôi không gặp vấn đề này (rõ ràng), nhưng điều này rất không an toàn. BTW, mật khẩu kiểm tra của tôi là ký tự đơn 'a', vì vậy chúng thực sự khớp với đầu vào.
Nó cũng không được hỗ trợ:
$ 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.
Tuy nhiên, chức năng này chính xác (không có pv):
$ cat test.tar | aescrypt -e - -o test.tar.aes
Chức năng này cũng vậy (tốt, nó ghi tệp chính xác):
$ cat test.tar | pv -cN encryption | aescrypt -e - -o test.tar.aes
Enter password: a
Re-Enter password: a
Khi tôi nhập mật khẩu, nó được hiển thị dưới dạng văn bản đơn giản trên màn hình.
Aescrypt được quảng cáo là hỗ trợ đầy đủ cho đường ống dẫn Linux. Theo hiểu biết của tôi, pv chỉ tính những dữ liệu nào đi qua nó, nhưng không sửa đổi nó. Có chuyện gì ở đây vậy?