Gewusst wie: Verschlüsseln einer Datei in Java 1

November 13

Gewusst wie: Verschlüsseln einer Datei in Java 1

Seit Version 1.4, die Java SDK Standard Edition standardmäßig die Java Cryptography Extension enthalten hat. Dadurch ist ein einheitliches Framework für Java-Entwickler eine Vielzahl von standard-Verschlüsselungsalgorithmen in ihren Anwendungen verwenden. Mit einem der standard-Algorithmen, die mit der Java Cryptography Extension kommen ist ziemlich einfach, und eine sehr einfache Verschlüsselung-Anwendung kann erstellt werden, in nur ein paar Dutzend Zeilen um Ihre eigenen Dateien zu sichern.

Anweisungen

1 Erstellen Sie die FileEncrypter-Klasse. < Br / >< Br / > öffentliche Klasse FileEncrypter {< Br / > Ausnahme aus publicstaticvoid Main (String [] Args) {< Br / ><< Code hier einfügen >>< Br / >} < Br / >} < Br / >< Br / > die Klasse benötigen die folgenden Imports: < Br / >< Br / > import java.io.File < Br / > gehen < Br / > import java.io.FileInputStream < Br / > gehen < Br / > Importieren java.io.FileOutputStream < Br / > gehen < Br / > Importieren javax.crypto.Cipher < Br / > gehen < Br / > Importieren javax.crypto.KeyGenerator < Br / > gehen < Br / > Importieren javax.crypto.SecretKey < Br / > gehen < Br / >< Br / > es gibt eine Reihe von Erweiterungen und Verbesserungen sollte man diese Klasse auf eigene hinzufügen können, aber es liefert eine einfache Verschlüsselung-Funktionalität für Sie Features wie z. B. über eine Benutzeroberfläche zu erstellen.

2 Deklarieren und Initialisieren der Variablen, die Sie benötigen. Mindestens benötigen Sie eine Chiffre, ein KeyGenerator und ein SecretKey. Außerdem benötigen Sie ein Byte-Array jedes verschlüsselten als auch unverschlüsselten Daten zu halten. < Br / >< Br / > Byte [] PlainData < Br / > gehen < Br / > Byte [] EncryptedData < Br / > gehen < Br / > KeyGenerator Keygen = KeyGenerator.getInstance(\"DES\") < Br / > gehen < Br / > SecretKey-Schlüssel = keygen.generateKey() < Br / > gehen < Br / > Chiffre Chiffre = Cipher.getInstance(\"DES/ECB/PKCS5Padding\") < Br / > gehen < Br / > cipher.init (Cipher.ENCRYPT_MODE Schlüssel) < Br / > gehen < Br / >< Br / > diese Funktion DES-Verschlüsselung verwenden, aber die Java Cryptography Extension beinhaltet auch eine Vielzahl von anderen Programmen. Du musst auch eine Eingabe zu initialisieren und Ausgabedatei und füllen Sie das PlainData-Array aus den Daten in der Eingabedatei. < Br / >< Br / > Datei f = neue File(\"input.txt\") < Br / > gehen < Br / > FileInputStream in = neue FileInputStream(f) < Br / > gehen < Br / > PlainData = neue byte[(int)f.length()] < Br / > gehen < Br / > in.read(plainData);

3 Führen Sie die Verschlüsselung. Dies ist tatsächlich die einfachste Aufgabe für Sie durchführen und können in einer einzelnen Zeile erreicht werden. < Br / >< Br / > EncryptedData = cipher.doFinal(plainData);

4 Schreiben Sie die verschlüsselten Daten in eine neue Datei. < Br / >< Br / > FileOutputStream Ziel = neue FileOutputStream (neue File(\"encrypted.txt\")) < Br/> GO < Br/> target.write(encryptedData) < Br/> GO < Br/> target.close();

Tipps & Warnungen

  • Es gibt eine Reihe von Verbesserungen, die an diesem Programm vorgenommen werden können. Wie geschrieben, z. B. speichert es zufällig generierten SecretKey nicht wie der einzelne Programmierer möglicherweise der beste Richter Umgang mit diesem sensiblen Stück von Informationen. Darüber hinaus können Programmierer hinzufügen Kommandozeilen-Argumente wie "input" und "Ausgabe." Schließlich konnte das Programm etwas umstrukturiert werden, um bessere Object Oriented Design Techniken umzusetzen.