Как установить пароль для защиты файлов и каталогов

Как я могу защитить файлы и каталоги паролем в C#?

3 ответа

Если вам нужно защитить файлы и папки, у вас есть несколько вариантов:

  1. Управляйте разрешениями уровня операционной системы с помощью ACL (списков контроля доступа), чтобы только авторизованные пользователи на компьютере имели доступ к этим объектам. Это не создаст новый пароль для файла, но просто запретит доступ каждому пользователю, который не авторизован. Недостатком является то, что это нужно делать на уровне компьютера (или домена Active Directory). Поэтому, если вы копируете файл на другой компьютер, защита больше не активна.

  2. Вы можете использовать алгоритм сжатия, например zip или rar, для сжатия защищенных файлов и назначения пароля, который требуется для их распаковки. Это работает, даже если вы копируете zip-файл на другие машины. Вы можете упаковать файлы без коэффициента сжатия, если вам нужно только защитить файлы и не заботиться об уменьшении размера файла. В Интернете вы можете найти несколько zip-библиотек с открытым исходным кодом для.NET. Одним из них является http://www.icsharpcode.net/OpenSource/SharpZipLib/

  3. Или вы можете выполнить шифрование файлов с помощью классов в System.Security.Cryptographyиспользуя симметричный алгоритм, где ключом шифрования будет ваш пароль, или асимметричное шифрование с сертификатами, где пароль будет паролем закрытого ключа сертификата. Как правило, это обеспечивает более надежную защиту, чем zip-шифрование, но вам нужно написать немного больше кода и управлять сертификатами пользователя.

Каковы ваши конкретные требования безопасности и авторизации?

Посмотрите на примеры шифрования C#. Вы можете объединить один из них с этим примером Рекурсивного поиска в каталоге (неработающая ссылка), чтобы зашифровать все файлы в каталоге (и его подкаталогах, если это необходимо).

Вы можете создать файл, создать зашифрованную файловую систему, а затем смонтировать его.

Другие вопросы по тегам