我想寫一點.NET腳本/工具,它至少與SecretSync或BoxCryptor大致相同,但不將加密密鑰存儲在公司的Web上服務器。雙向文件夾與加密同步以保護我的Dropbox數據
首先它聽起來很簡單:你有兩個文件夾 - 「解密」文件夾和「加密」 - 文件夾。在這兩個文件夾中都有一個FileSystemWatcher,因此當文件發生更改時,該工具會得到通知。 如果文件在「已解密」文件夾中發生更改,它會對文件進行加密並將其寫入「已加密」文件夾。如果文件在「加密」文件夾中發生變化,它將解密文件並將其寫入「解密」文件夾。
到目前爲止沒有問題。
但是,如果用戶直接從「解密」文件夾運行應用程序(例如KeePass),會發生什麼情況?同步和加密過程現在會遇到問題,因爲文件被鎖定在應用程序中。 有沒有我可以做,以避免這個問題處理,所以應用程序仍然可以運行旁邊的同步和加密過程?
感謝您的幫助!
更新:我仍然無法找到這個問題的答案。使用FileSystemWatcher-class進行同步時,應用加密/解密很容易,但遇到文件鎖定問題(因爲流或應用程序阻止文件)。我也嘗試過Microsoft Sync Framework。文件同步適用於它,但我不知道如何在運行中加密/解密文件。
也許有人有一點工作代碼示例。
不知道這可能如何幫助我解決問題。對我來說,它看起來像卷影複製服務只進行備份,但文件仍然會被鎖定。 – Alexander 2011-05-16 12:22:50
該服務允許您在仍在使用,打開等情況下複製文件;你將不得不閱讀文檔,不同的SDK是針對不同的操作系統,這裏是一個很好的開始博客http://www.codeproject.com/KB/dotnet/makeshadowcopy.aspx – 2011-05-16 13:04:05