Wie kann ich Dateien und Verzeichnisse in C# mit einem Kennwort schützen?So legen Sie ein Kennwort zum Schützen von Dateien und Verzeichnissen fest
Antwort
Werfen Sie einen Blick auf C# Encryption examples. Sie können eines davon mit
this Recursive Directory Search example
(dead link) kombinieren, um alle Dateien in einem Verzeichnis (und ggf. dessen Unterverzeichnissen) zu verschlüsseln.
der zweite Link ist tot und auch in archive.org – tttony
Wenn Sie Dateien und Ordner schützen müssen haben Sie mehrere Möglichkeiten:
die Betriebssystemberechtigungen mit ACLs Steuerung (Access Control Lists), so dass nur die autorisierten Benutzer auf dem Computer den Zugriff auf diese Objekte haben . Dadurch wird kein neues Kennwort für die Datei erstellt, aber der Zugriff auf alle Benutzer, die nicht autorisiert sind, wird verweigert. Der Nachteil besteht darin, dass dies auf einer Computerebene (oder Active Directory-Domäne) erfolgen muss. Wenn Sie die Datei auf einen anderen Computer kopieren, ist der Schutz nicht mehr aktiv.
Sie können einen komprimierten Algorithmus wie zip oder rar verwenden, um die geschützten Dateien zu komprimieren und ein Kennwort zu vergeben, das für die Dekomprimierung erforderlich ist. Dies funktioniert auch, wenn Sie die ZIP-Datei auf andere Computer kopieren. Sie können die Dateien ohne Komprimierungsfaktor verpacken, wenn Sie nur die Dateien schützen müssen und sich nicht darum kümmern, die Dateigröße zu reduzieren. Sie finden online mehrere Open-Source-Zip-Bibliotheken für .NET. Einer von ihnen ist http://www.icsharpcode.net/OpenSource/SharpZipLib/
Oder Sie könnten die Dateiverschlüsselung mit den Klassen in
System.Security.Cryptography
, mit einem symmetrischen Algorithmus, wo der Chiffrierschlüssel wäre Ihr Kennwort ein, oder die asymmetrische Verschlüsselung mit Zertifikaten, wo das Passwort des privaten Schlüssels des Passworts durchführen würde des Zertifikats. Dies bietet im Allgemeinen eine stärkere Sicherheit als die Zip-Verschlüsselung, Sie müssen jedoch etwas mehr Code schreiben und die Zertifikate des Benutzers verwalten.
Was sind Ihre spezifischen Sicherheits- und Autorisierungsanforderungen?
Sie können eine Datei erstellen, ein verschlüsseltes Dateisystem erstellen und sie dann loopback-mounten.
- 1. So legen Sie ein Kennwort für einen Andock-Container fest
- 2. So legen Sie ein Überziehungslimit fest
- 3. So legen Sie ein internes Basisklassenfeld fest
- 4. So legen Sie ein dynamisches Attribut fest
- 5. So legen Sie den Stammordner für PHP-Include-Dateien fest
- 6. So legen Sie den relativen Pfad zum Executive-Skript fest
- 7. So legen Sie ein anderes Thema für ein Layout fest
- 8. So legen Sie Umgebungsvariablen mit Fabric fest
- 9. So legen Sie das ausgewählte Objektgitter fest
- 10. So legen Sie Standarddokument in ASP.Net fest
- 11. So legen Sie das Kennwort für die SQL Server-DB fest
- 12. So legen Sie eine Ressourceneigenschaft fest
- 13. So legen Sie ein Steuerelement auf einen transparenten Hintergrund fest
- 14. So legen Sie ein benutzerdefiniertes Hintergrundbild in Hyperterm fest
- 15. So legen Sie Header für DeleteAsync fest
- 16. So legen Sie den Fokus auf ein SWT-Tabellenelement fest
- 17. So legen Sie den frühestmöglichen Haltepunkt fest
- 18. So legen Sie eine globale Variable fest
- 19. So legen Sie Tabstopp in CoreText fest
- 20. So legen Sie ein Ziel für GVRHead fest GoogleVR
- 21. So legen Sie den Dateizeitstempel in Remote Git Repo fest?
- 22. So legen Sie ein Sicherheitstoken in WCF fest?
- 23. So legen Sie Umgebungsvariablen von Remote-Hosts fest
- 24. So legen Sie App.Config von der Netzwerkfreigabe fest
- 25. So legen Sie DOCUMENT_ROOT und SCRIPT_NAME für fcgiwrap korrekt fest
- 26. So legen Sie die Ausrichtung von ContentPage in Xamarin.Forms fest
- 27. So schützen Sie iOS-Bundle-Dateien
- 28. So legen Sie die Schriftgröße für Text von Dialogfeldern fest
- 29. Legen Sie das Firefox-Profil so fest, dass Dateien automatisch mit Selenium und Java heruntergeladen werden.
- 30. So legen Sie die Größe von MARGINS in GridLayout fest
@Vinoth: Ich habe Ihren Beitrag so bearbeitet, dass es mehr wie eine Frage mit richtiger englischer Grammatik aussieht, damit es nicht geschlossen wird. Bitte rollback, wenn Sie meine Änderungen nicht mögen. –