双向文件夹同步加密以保护我的Dropbox数据

Ale*_*der 12 .net c# encryption synchronization file

我想编写一个.NET脚本/工具,它至少与SecretSyncBoxCryptor大致相同,但不会将加密密钥存储在公司的Web服务器上.

首先,它听起来很简单:你有两个文件夹 - 一个"解密"文件夹和"加密"文件夹.在两个文件夹上都有一个FileSystemWatcher,因此当文件发生更改时,工具会收到通知.如果文件在"已解密"文件夹中发生更改,则会对文件进行加密并将其写入"已加密"文件夹.如果文件在"encrypted"文件夹中发生更改,它会解密文件并将其写入"已解密"文件夹.

到目前为止没问题.

但是如果用户直接从"已解密"文件夹运行应用程序(例如KeePass)会发生什么?同步和加密过程现在会遇到问题,因为文件是从应用程序锁定的.我可以做些什么来避免处理这个问题,所以应用程序仍然可以在同步和加密过程旁边运行吗?

谢谢你的帮助!

更新:我仍然找不到这个问题的答案.使用FileSystemWatcher-class进行同步时,很容易应用加密/解密,但是您遇到了文件锁的问题(因为流或应用程序阻塞了文件).我也尝试过Microsoft Sync Framework.文件同步与它一起使用,但我不知道如何动态加密/解密文件.

也许某人有一些工作代码示例.

Kri*_*nov 1

研究使用卷影复制服务,确保您获得适合您选择的操作系统的 SDK