перенаправить вывод скрипта python в файл

Эти вопросы и ответы how-do-decryption- алгоритмы определения-правильности-вашей-попытки-парольной фразы предполагают, что алгоритмы дешифрования, которым необходимо знать правильность парольной фразы, используют HMAC для проверки правильности парольной фразы.

Поэтому, когда важно иметь возможность информировать пользователя о том, преуспела ли операция дешифрования в получении ожидаемых данных, инженеры по криптографии используют коды аутентификации сообщений . MAC-адреса на основе хэша позволяют сравнивать открытый текст кандидата с аутентифицированным хеш-значением. Если проверка прошла успешно, мы знаем, что это правильный открытый текст, и можем уведомить пользователя о том, что функция дешифрования была успешной, как и предполагалось.

Некоторая информация о дизайне encfs :

  • Существует ключ тома, который используется для шифрования всех имен файлов и содержимого.
  • Пароль, вводимый пользователем, используется для расшифровки ключа тома.

Предоставленный вами пароль используется для расшифровки ключа громкости.

Технология

  • Encfs использует алгоритмы из сторонних библиотек (OpenSSL по умолчанию) для шифрования данных и имен файлов.

  • Пароль, вводимый пользователем, используется для расшифровки ключа тома, а ключ тома используется для шифрования всех имен файлов и содержимого. Это позволяет изменять пароль без необходимости повторного шифрования всех файлов.

Согласно этому аудиту безопасности

  • EncFS использует один и тот же ключ для шифрования данных и вычисления MAC-адресов.
  • EncFS использует 64-битные MAC-адреса.
  • EncFS использует Mac-then-Encrypt
  • Назначение заголовков MAC - не дать злоумышленнику с доступом на чтение / запись к зашифрованному тексту внести изменения, не будучи обнаруженным . К сожалению, эта функция обеспечивает небольшую безопасность, поскольку управляется параметром в .encfs6.xml файл конфигурации

Ответьте на вопрос в комментарии, MAC сохраняется как часть каждого зашифрованного файла.

1
21.11.2016, 16:47
1 ответ

Из https://stackoverflow.com/a/3167526/7192818

Я не знаю, применимо ли это и к python, но я думаю, что это зависит от операционной системы что вы бежите.

В Linux, например, вывод на терминал сбрасывает буфер на новой строке , тогда как для вывода в файлы он сбрасывается только тогда, когда буфер заполнен (по умолчанию). Это связано с тем, что более эффективно очищать буфер меньшее количество раз, и пользователь с меньшей вероятностью заметит, если вывод не сбрасывается на новую строку в файле.

Вы могли бы автоматически очистить вывод, если это то, что вам нужно.

Таким образом, в скрипте python добавление sys.stdout.flush () после записи заставляет его вести себя так, как ожидалось.

Мех.

1
27.01.2020, 23:46

Теги

Похожие вопросы