Я хотел бы написать небольшой скрипт / инструмент .NET, который, по крайней мере, в основном похож на SecretSync или BoxCryptor , но без сохранения ключа шифрования в сети компанииСерверы.
Сначала это звучит очень просто: у вас есть две папки - «расшифрованная» папка и «зашифрованная» папка.В обеих папках есть FileSystemWatcher , поэтому инструмент получает уведомление об изменении файла.Если файл изменяется в «расшифрованной» папке, он шифрует файл и записывает его в «зашифрованную» папку.Если файл изменяется в «зашифрованной» папке, он расшифровывает файл и записывает его в «расшифрованную» папку.
Пока проблем нет.
Но что произойдет, если пользователизапускает приложение (например, KeePass ) прямо из "расшифрованной" папки?В процессе синхронизации и шифрования теперь возникнут проблемы, поскольку файлы заблокированы из приложения.Есть ли что-то, что я могу сделать, чтобы избежать этой проблемы, чтобы приложение могло работать помимо процесса синхронизации и шифрования?
Спасибо за любую помощь!
Обновление: Я все еще не мог найти ответ на этот вопрос.При использовании класса FileSystemWatcher для синхронизации легко применить шифрование / дешифрование, но у вас возникают проблемы с блокировками файлов (из-за потоков или приложений, блокирующих файлы).Я также попробовал Microsoft Sync Framework.Синхронизация файлов работает с ним, но я не знаю, как зашифровать / расшифровать файлы на лету.
Возможно, у кого-то есть небольшой пример рабочего кода.