回答
創建一個加密目錄需要兩個步驟 - 使用Directory.CreateDirectory創建它,然後使用Win32函數EncryptFile對其進行加密。示例代碼 -
using System;
using System.IO;
using System.Runtime.InteropServices;
namespace EncryptDir
{
public class Sample
{
DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern bool EncryptFile(string filename);
public static void Main()
{
Directory.CreateDirectory("MyEncryptedDirectory");
EncryptFile("MyEncryptedDirectory");
}
}
參考文獻:
EncryptFile Function @ MSDN
Handling encrypted files and directories @ MSDN
太棒了!非常感謝。 奇怪的是,似乎沒有辦法在.Net類庫中做到這一點。 – forest 2011-06-27 07:55:18
不客氣!本地.net庫經常會滯後於Win32 API;我希望這是另一種方式! – DotThoughts 2011-07-01 15:01:33
似乎調用File.EncryptFile也適用於目錄。我想它只是在內部轉發到EncryptFile
。
管理方法File.Encrypt()
和FileInfo.Encrypt()
都只是簡單地調用the other answer中顯示的原生EncryptFile()
。
因此,不需要爲了聲明p/invoke API而煩惱。只需使用內置方法即可。
- 1. 打開目錄,並創建新的文件
- 2. 在ext2文件系統的根目錄下創建一個新文件
- 3. 從網絡瀏覽器打開文件系統文件夾/目錄
- 4. 在hadoop文件系統中創建目錄
- 5. 無法在hadoop文件系統中創建目錄
- 6. 從工作目錄中打開文件
- 7. /dev/simfs:打開文件系統時沒有這樣的文件或目錄
- 8. 在文件系統中創建文件
- 9. 在文件中創建文件系統
- 10. 寫入系統目錄中的文件
- 11. 如何從python目錄中的目錄打開文件
- 12. 如何在文件系統上創建目錄?
- 13. 下載在C#中的文件到新創建的目錄
- 14. 從System.Drawing.Image的文件系統上創建一個新的圖像?
- 15. 如何創建帶有boost文件系統的文件而不打開它
- 16. 如何在文件系統的目錄中刪除ATR文件後重新創建ATR文件?
- 17. 打開加密文件
- 18. 從文檔目錄中的文件夾創建ZIP文件 - 目標C(ARC)
- 19. 從同一個目錄打開文件
- 20. 無法從python目錄打開文件
- 21. 從任何目錄打開文件
- 22. 創建「可安裝」文件系統,從哪裏開始?
- 23. 谷歌的Hadoop文件系統加密
- 24. IOS的文件系統加密?
- 25. 從C++創建,打開和打印word文件
- 26. 是否可以使用django從系統目錄加載文件?
- 27. BouncyCastle創建PKCS 7加密文件? C#
- 28. 可以在系統的臨時目錄中創建flymake的臨時文件嗎?
- 29. 在javascript中打開本地文件系統中的文件
- 30. Codename one從文件系統存儲打開文件
任何人都有這方面的經驗? – forest 2011-05-26 08:17:02