Gibt es eine Möglichkeit in C++, Datei nur für Programm lesbar zu machen, ohne es zu verschlüsseln? Ich möchte eine Datei erstellen, die wenige Textzeilen enthält, die das Programm liest, aber der Benutzer muss es nicht mit einfachen Prog lesen können. wie "Notepad ++".Datei nur für Programm lesbar machen
Antwort
Einfach: Erstellen Sie Ihr eigenes Binärformat anstelle der üblichen Textdateien. Das heißt, Sie könnten die Bytes auf reversible Weise durcheinanderbringen (ich habe sogar einen sehr einfachen Vorschlag dafür).
Das ist immer noch Verschlüsselung. Es ist nur eine wirklich schlechte Form der Verschlüsselung. –
Nun, entweder Verschlüsselung oder Berechtigungen, obwohl Berechtigungen nur pro Benutzer, nicht pro Programm, in aktuellen Betriebssystemen handeln können (Android ist eine bemerkenswerte Ausnahme, wo jede App eine eigene Benutzerkennung auf dem System hat) –
Verschlüsselung wird nicht nur verwendet um Dateien von zB NSA oder ähnlichem zu sichern, wird es nur verwendet, um etwas auf eine andere Weise darzustellen. Wenn Sie nicht möchten, dass Benutzer Ihre Dateien auf ihrem Computer sehen, um sie zu ändern, ist es am besten, sie in binärer Form und nicht im Klartext zu speichern. Mit einem guten Binärformat erreichen Sie möglicherweise sogar ein schnelleres Parsen der Daten. Das ist meiner Meinung nach keine schlechte Form der Verschlüsselung. – rlam12
Als eine Frage von reinem C++, nein.
In Bezug auf Betriebssysteme, im Allgemeinen, nein. Wenn es sich um eine Datei auf der Festplatte handelt, wird es in den meisten Betriebssystemen als faires Spiel angesehen. Betriebssysteme haben oft Möglichkeiten, Dateien zu verstecken, aber Benutzer können diese umgehen. Es gibt Berechtigungssysteme, die Zugriffe auf bestimmte Benutzer einschränken können. Aber ein Benutzer mit root-/admin-Rechten kann ziemlich genau das tun, was er will.
Nun können einige mobile Betriebssysteme give your app some storage that canonly be read by your app, so dass andere Anwendungen nicht lesen/schreiben können, wie sie es für richtig halten. Dies sind jedoch Aspekte von Betriebssystem-spezifischen APIs.
Und diese Schemata sind nicht perfekt.
- 1. WPF Datagrid: Machen Sie Zellen nur lesbar
- 2. Wie nur lesbar in C#
- 3. Wie kann ich eine Textbox nur lesbar in PHP machen
- 4. machen meine Datei lesbar als entweder Perl oder HTML
- 5. Wie Rails.logger.debug Druck Hash besser lesbar machen
- 6. Machen Sie Text lesbar auf beliebigem Hintergrundbild
- 7. Wie kann ich Sphinx's vererbung_diagramm lesbar machen?
- 8. Große Zahlen im Code lesbar machen
- 9. Wie ChoiceField nur lesbar in django Formen
- 10. Fehler: nicht nur lesbar Eigenschaft: proguardFiles für Klasse: com.android.build.gradle.managed.BuildType
- 11. "UNLOAD" -Datentabellen von AWS Redshift und als CSV lesbar machen
- 12. reactjs die Syntax: url ist nur lesbar
- 13. eine bestimmte Datei nur zugänglich machen?
- 14. Wie machen Sie ein Installationsprogramm für Ihr Python-Programm
- 15. TinyMCE auto nur lesbar, wenn das Textfeld Nur-Lese-
- 16. De-obfuscate Javascript-Code, um es lesbar zu machen
- 17. JQuery Verwendung von Text nur lesbar zu machen, aber immer noch anklickbare
- 18. Datei nicht lesbar von Dokumenten Ordner
- 19. Datei ist nicht lesbar nach file.setReadable (true)
- 20. Mehrere Dateien vom Skript erzeugt, nur letzte lesbar
- 21. Zugriff verweigert für phpMyAdmin nach dem Ändern des Passwortes, config.inc.php nur lesbar
- 22. Wie der Code besser lesbar machen (for-Schleife oder anwenden)
- 23. De-obfuscate Javascript-Code, um es wieder lesbar zu machen
- 24. wie der Rückgabewert besser lesbar in Schienen Konsole machen
- 25. Wie ein Programm Suche nach einer Datei machen schnell
- 26. Mein Python-Programm effizienter machen
- 27. Objective-C-Accessor Erklärungen (nur lesbar, Lese-Schreib-etc)
- 28. Wie mache ich Dateien NUR herunterladbar, nicht vom Client lesbar
- 29. Machen WP Metabox nur für Administratoren editierbar
- 30. Machen Methode zugänglich nur für andere Klasse
Verwendung der ** Standardsprache ** C++ nicht. Dateiattribute und Berechtigungen sind ein Betriebssystemproblem. Nachschlagen API für Ihr Betriebssystem. Möglicherweise können Sie stattdessen ein Framework oder eine portable Bibliothek verwenden. –
Auf Unix wird dies normalerweise getan, indem das Programm setuid oder setgid gemacht wird und der Datei derselbe Eigentümer/Gruppe wie dem Programm gegeben wird. Das Erstellen von setXid-Programmen erfordert jedoch besondere Sorgfalt. – Barmar