Erstellen Sie eine Datei durch ein Passwort geschützt, in java
Ich würde gerne eine Datei durch ein Passwort geschützt in JAVA.
Was ich meine ist, sobald ich das Programm starten, eine Datei erstellt, die von meinem Programm direkt geschützt durch vorher festgelegte Passwort ein.
Gibt es einen einfachen Weg, es zu tun ?
Wieder, mein Ziel ist es nicht, eine Datei zu erstellen und fügen Sie ein Passwort, aber direkt während der Erstellung den Schutz der Datei mit einem Passwort.
Eigentlich möchte ich die aktuelle runner-Programm keinen Zugriff im Lesen/Bearbeiten Sie die erstellte Datei, AUßER wenn er/Sie das Passwort vorher festlegen.
Also auf jeden Fall, wenn einige von Euch kennen einen einfachen Weg, Dateien zu schützen, wenn Sie schriftlich durch java, wäre ich sehr dankbar.
Haben einen schönen Tag!
Bitte geben Sie Ihre nicht-funktionierenden code-Beispielen.
mazaneicha : ich meine die Einstellung, die ein Kennwort für diese Dateien erstellt
Edward : ich habe versucht, diesen code : deba.sys-con.com/node/1258827/mobile . Aber es beantwortet nicht meine Frage, trotzdem :/
Überprüfen Sie dieses heraus, kann er helfen: cs.saddleback.edu/rwatkins/CS4B/Crypto/FileEncryptor.html. Viel Glück!
InformationsquelleAutor duckduck | 2012-08-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie möchten, verschlüsseln Sie Ihre Datei('s-Gehalt) mit einem Passwort. Hier ist eine ziemlich bekannte Bibliothek, es zu tun: http://www.jasypt.org/
Von Ihrer Seite:
Können Sie Lesen/schreiben verschlüsselter Inhalte in Ihrer Datei.
Wenn der Benutzer hat Zugriff auf das Dateisystem, werden Sie in der Lage, die Datei zu öffnen. Jedoch, da der Inhalt verschlüsselt ist, werden Sie sehen nur die scheinbar zufällige Daten (verschlüsselt, seltsamer text). Verhindern, dass Benutzer, die Datei zu öffnen in Erster Linie wird die Zusammenarbeit erfordern vom OS, so wird es härter sein, aber wie Sie sehen, brauchen Sie nicht zu tun, um zu schützen den Inhalt der Datei. Zweitens, ja, es funktioniert für alle Daten (Suche durch die lib ' s docs für Möglichkeiten zu verschlüsseln beliebige bytes)
InformationsquelleAutor Enno Shioji
Wenn Sie möchten, verschlüsseln von Dateien, strings, etc es gibt 2 Ansätze.
Sie sollten beginnen, durch den Bau einer Klasse oder Methode zu konvertieren ur string/Datei in ein array von bytes. Erstellen Sie eine andere Methode zum konvertieren des Byte-array zurück in string/Datei.
Können Sie verschlüsseln eine Datei mit 2 Ansätze:
1 - Symmetrische Schlüssel - Ein Geheimnis-Wort (in der Regel eine große Zeichenfolge von Zeichen oder einem Passwort durch den Benutzer eingestellt) wird verschlüsseln Sie Ihre Datei und ein Passwort, und das gleiche Kennwort verwendet werden, zu entschlüsseln.
2 - Asymmetrische key - erzeugen Sie sich ein Schlüsselpaar. Heißt der öffentliche Schlüssel und der andere als einen privaten Schlüssel. Öffentliche Schlüssel werden verwendet, um Dateien zu verschlüsseln, der private Schlüssel zum entschlüsseln.
Dies wäre mehr 'professionelle' Ansatz.
Wenn Sie möchten, einen wirklich sicheren Ansatz, sollten Sie herunterladen GnuPG. GnuPG ist eine ausführbare Datei, die verwaltet assymmetric Verschlüsselung, die Sie möglicherweise erstellen Sie eine Klasse für die Arbeit mit GnuPG und lassen verwalten GnuPG ur-Verschlüsselung/Entschlüsselung Prozess.
Theres eine unsichere Annäherung, die 'native' zu java (symmetrischer Schlüssel), die möglicherweise für Sie arbeiten:
Verschlüsselung:
Entschlüsselung:
Hoffe, das hilft.
InformationsquelleAutor Pedro Ruschel
Wenn die Datei ist eine Textdatei, die dann nicht geben dem Benutzer Zugriff auf die Datei ohne Passwort in Ihrem Programm nicht wirklich Passwort-Schutz der Daten, da die Benutzer können nur öffnen Sie die Datei mit einem anderen Programm. Also, WENN die Datei eine Textdatei ist, dann denke ich, müssen Sie eine Verschlüsselung verwenden.
Können Sie den Kommentar von @mazaneicha, die Ihnen den Einstieg in diese Richtung. Wenn Sie Tauchen möchten mehr zu Sie, Sie kann Blick auf die Java Cryptography architectre und die javax.crypto java docs.
Wenn Ihre Datei ist nicht lesbar, und nur Ihr Programm versteht, dann würde ich die erste Zeile oder die ersten n-Bytes der Datei ein Passwort. Wenn Sie möchten, könnten Sie speichern, ein anderes Passwort-Datei in das gleiche Verzeichnis und verwenden, um den Benutzer zu authentifizieren, bevor Sie entscheidet, ob der Benutzer das Recht zum anzeigen der Datei. Ein gemeinsamer Weg zu verschlüsseln das Passwort wird mit einem MD5-hash-Funktion. Der Benutzer gibt ein Passwort ein, die Sie berechnen den hash, dann vergleichen Sie die berechnete hash mit dem hash-Wert aus der Datei Lesen:
Die Methode, die ich oben schrieb, ist für eine hash-Funktion. Es kann verschlüsseln ein Kennwort, aber es gibt keine entsprechende Entschlüsselung. Wenn alles, was Sie tun müssen, ist, speichern Sie ein Kennwort ein, dann verwenden Sie es. Wenn Sie möchten, um Dateien zu verschlüsseln (text, Bilder, oder was auch immer Sie mögen), dann können Sie die javax.crypto-Paket. @Pedro schrieb einige code demonstriert eine einfache Anwendung von diesem Paket. Beachten Sie, dass sein code ist die Verschlüsselung ein byte-array, so dass es für jede Art von Datei.
InformationsquelleAutor Thorn