Короткая версия
Использовать именованную трубу.
openssl aes-256-cbc -a -salt -in twitterpost.txt -out foo.enc -pass file:<( echo -n "someGoodPassword" )
Длинная версия
Использовать именованный канал. Вы можете создать его в bash с помощью
<( *output* )
, например
<( echo -n "content" ) # without -n echo will add a newline
Он откроет именованный канал, обычно очередь FIFO, и вы увидите в списке процессов что-то вроде
/dev/fd/63
Он будет доступен для чтения только текущему пользователю и будет автоматически закрыт после прочтения, так что вам не нужно беспокоиться о разрешениях и очистке диска (канал закроется в случае сбоя программы, пока файл, созданный вами, как указано в другом ответе, останется на диске).
Таким образом, он закроется самым быстрым способом, сразу после того, как команда прочитает его, и не дожидаясь, пока он завершит свою задачу (я только что сделал тест: зашифровал несколько гигабайт и попытался прочитать именованный канал (это видно в список процессов): именованный канал закрывается мгновенно, даже если для шифрования openssl требуется много времени).
О ваших комментариях
Если компьютер был взломан вторым приложением для получения этого
пароль, то у пользователя есть серьезные проблемы с безопасностью
около. На самом деле, это может быть какое-то программное обеспечение, специально предназначенное для
атаковать мое собственное программное обеспечение
Если ваш компьютер был взломан и у злоумышленника есть те же права пользователя, то все готово. Например, злоумышленник может легко изменить ваш .bashrc на псевдоним openssl, чтобы он запустил гипотетический «evil-openssl», который копирует ваш пароль и данные, прежде чем обрабатывать все в реальном openssl, оставляя вам ложное чувство безопасности.
Тем не менее, я не эксперт по безопасности, поэтому, если кто-то захочет превратить меня в забвение (и скажите мне, почему), добро пожаловать.