Вы можете попробовать поэкспериментировать со свойствами hardsource и кэша.
https://nuxtjs.org/api/configuration-build/#hardsource
https://nuxtjs.org/api/configuration-build/#cache
Это должно сделать последующие сборки намного быстрее
Это не действительно моя вещь, я признаю, что с готовностью, но разве Вы не можете зашифровать каждую запись индивидуально и затем добавить ее к файлу журнала? Если Вы, что рефрен от шифрования метки времени, можно легко найти записи Вашим, ищете и дешифруете их при необходимости.
Причем моя точка главным образом, что добавление зашифрованных записей человека в файл должно не обязательно быть двоичными записями, добавленными к двоичному файлу. Шифрование с (например), gpg уступит, ASCII искажают, который может быть добавлен в файл ASCII. Это решило бы Вас проблема?
Не шифруйте отдельные записи в журнале отдельно и пишите им в файл, как предложено другими плакатами, потому что взломщик легко смог бы определить шаблоны в файле журнала. См. статью в Википедии режимов блочного шифра для получения дополнительной информации об этой проблеме.
Вместо этого удостоверьтесь, что шифрование записи в журнале зависит от предыдущих записей в журнале. Хотя это имеет некоторые недостатки (Вы не можете дешифровать отдельные записи в журнале, как всегда необходимо дешифровать весь файл), он делает шифрование намного более сильным. Для нашей собственной библиотеки входа, SmartInspect, мы используем Шифрование AES и режим CBC для предотвращения проблемы шаблона. Не стесняйтесь давать SmartInspect попытку, если коммерческое решение подошло бы.
FWIW, одно время, мне был нужен зашифрованный регистратор, я использовал симметричный ключ (по причинам производительности) для шифрования фактических записей в журнале.
Симметричный 'ключ файла журнала' был затем зашифрован под открытым ключом и сохранен в начале файла журнала, и отдельный читатель журнала использовал закрытый ключ, чтобы дешифровать 'ключ файла журнала' и считать записи.
Все это было реализовано с помощью log4j и формат файла журнала XML (чтобы помочь читателю проанализировать) и каждый раз, когда файлы журнала были прокручены по новому 'ключу файла журнала', был сгенерирован.
Шифрование каждой записи в журнале индивидуально уменьшило бы безопасность Вашего шифрованного текста много, особенно потому что Вы работаете с очень предсказуемым простым текстом.
Вот то, что можно сделать:
Затем выберите случайный временный ключ в начале каждого окна (каждые 5 минут, каждые 10 минут, и т.д.)
Зашифруйте каждый объект журнала отдельно с помощью временного ключа и добавьте к временному файлу журнала.
Когда окно закрылось (предопределенное время закончилось), дешифруйте каждый элемент с помощью временного ключа, дешифруйте основной файл журнала с помощью главного ключа, объедините файлы и зашифруйте использование главного ключа.
Затем выберите новый временный ключ и продолжите.
Кроме того, измените главный ключ каждый раз, когда Вы поворачиваете свой основной файл журнала (каждый день, каждую неделю, и т.д.)
Это должно обеспечить достаточно безопасности.
Принятие Вас использует своего рода платформу журналирования, например, log4j и др., затем необходимо смочь создать пользовательскую реализацию Appender (или подобный), который шифрует каждую запись, как @wzzrd предложенный.
Мне не ясно, является ли Ваше беспокойство на безопасности или реализации.
Простая реализация должна поднять трубку с потоковым утройством шифрования. Потоковое утройство шифрования поддерживает свое собственное состояние и может зашифровать на лету.
StreamEncryptor<AES_128> encryptor;
encryptor.connectSink(new std::ofstream("app.log"));
encryptor.write(line);
encryptor.write(line2);
...
Поскольку .NET видит Microsoft Application blocks для журнала и шифрует функциональность: http://msdn.microsoft.com/en-us/library/dd203099.aspx
Я добавил бы зашифрованные записи в журнале к плоскому текстовому файлу с помощью подходящего разграничения между каждой записью для дешифрования для работы.
Я задаюсь вопросом, какое приложение Вы пишете. Вирус или Троянский конь? Так или иначе...
Зашифруйте одну только каждую запись, преобразуйте ее в некоторую строку (Base64, например) и затем зарегистрируйте ту строку как "сообщение".
Это позволяет Вам сохранять части файла читаемыми и только шифровать важные части.
Заметьте, что существует другая сторона к этой монете: Если Вы создаете полностью зашифрованный файл и просите у пользователя его, она не может знать то, что Вы изучите из файла. Поэтому необходимо зашифровать как можно меньше (пароли, IP-адреса, данные костюмера), чтобы позволить юридическому департаменту проверить то, что оставляют данные.
Намного лучший подход был бы к obfuscator для файла журнала. Это просто заменяет определенные шаблоны "XXX". Можно все еще видеть то, что произошло и когда Вам нужна определенная часть данных, можно попросить это.
[РЕДАКТИРОВАНИЕ] Эта история имеет больше последствий, что Вы думали бы на первый взгляд. Это эффективно означает, что пользователь не видит то, что находится в файле. Среди "Пользователя" не обязательно "взломщик". Взломщик сконцентрируется на зашифрованных файлах (так как они, вероятно, более важны). Это - причина старой поговорки: Как только кто-то получает доступ к машине, нет никакого способа предотвратить его, чтобы сделать что-либо на нем. Или сказать это иначе: Просто, потому что Вы не знаете, как не означает, что кто-то еще также не делает. Если Вы думаете, что у Вас нет ничего для сокрытия, Вы не думали о себе.
Кроме того, существует проблема ответственности. Скажите, некоторые утечки данных в Интернете после того, как Вы получите копию журналов. Так как пользователь понятия не имеет, что находится в файлах журнала, как можно доказать в суде, что Вы не были утечкой? Боссы могли попросить файлы журнала контролировать своих пешек, прося кодировать его, таким образом, крестьяне не могут заметить и пожаловаться на это (или предъявить иск, пена!).
Или посмотрите на него от совершенно другого угла: Если бы не было никакого файла журнала, то никто не мог бы злоупотребить им. Как насчет того, чтобы позволить отладить только в случае чрезвычайной ситуации? Я настроил log4j для хранения последних 200 сообщений журнала в буфере. Если ОШИБКА зарегистрирована, я вывожу 200 сообщений к журналу. Объяснение: Я действительно не забочусь о том, что происходит в течение дня. Я только забочусь об ошибках. Используя JMX, просто установить уровень отладки на ОШИБКУ и понизить его удаленно во времени выполнения при необходимости в большем количестве деталей.