Nwlapcug.com


Come crittografare un File in Java

Come crittografare un File in Java


Fin dalla versione 1.4, l'edizione Standard di Java SDK ha incluso Java Cryptography Extension per impostazione predefinita. Questo fornisce un framework unificato per agli sviluppatori Java di utilizzare una varietà di algoritmi di crittografia standard nelle loro applicazioni. Utilizzando uno degli algoritmi standard che vengono con Java Cryptography Extension è abbastanza facile, e un'applicazione molto semplice crittografia può essere creata in qualche dozzina di righe per garantire i propri file di dati.

Istruzioni

1

Creare la classe FileEncrypter. < br / >< br / > public class FileEncrypter {< br / > public Shared Sub main (String [] args) genera eccezione {< br / ><< inserire qui il codice >>< br / >} < br / >} < br / >< br / > la classe richiederà le importazioni seguente: < br / >< br / > importare java.io.File < br / > andare < br / > importare java.io.FileInputStream < br / > andare < br / > importare java.io.FileOutputStream < br / > andare < BR / > importare javax.crypto.Cipher < br / > andare < br / > importare javax.crypto.KeyGenerator < br / > andare < br / > importare javax.crypto.SecretKey < br / > andare < br / >< br / > ci sono una serie di estensioni e miglioramenti si dovrebbe essere in grado di aggiungere a questa classe per conto proprio, ma fornirà una funzionalità di crittografia di base per voi per costruire funzioni come un'interfaccia di utente su.

2

Dichiarare e inizializzare le variabili che avrai bisogno. Come minimo, è necessario un cifrario, un KeyGenerator e un SecretKey. Avrete anche bisogno di una matrice di byte ciascuno per contenere i dati crittografati e non crittografati. < br / >< br / > byte [] plainData < br / > andare < br / > byte [] encryptedData < br / > andare < br / > KeyGenerator keygen = KeyGenerator.getInstance(\"DES\") < br / > andare < br / > SecretKey chiave = keygen.generateKey() < br / > andare < br / > Cipher cifrario = Cipher.getInstance(\"DES/ECB/PKCS5Padding\") < br / > andare < br / > cipher.init (Cipher.ENCRYPT_MODE tasto) < br / > andare < br / >< br / > questa funzione verrà utilizzata la crittografia DES, ma Java Cryptography Extension include anche una varietà di altri regimi. Sarà anche necessario inizializzare un input e output di file e compilare la matrice di plainData dai dati nel file di input. < br / >< br / > File f = nuovo File(\"input.txt\") < br / > andare < br / > FileInputStream in = nuovo FileInputStream(f) < br / > andare < br / > plainData = nuovo byte[(int)f.length()] < br / > andare < br / > in.read(plainData);

3

Eseguire la crittografia. Questo è in realtà il compito più facile per voi per eseguire e può essere realizzato in una sola riga. < br / >< br / > encryptedData = cipher.doFinal(plainData);

4

Scrivere i dati crittografati in un nuovo file. < br / >< br / > FileOutputStream target = new FileOutputStream (nuovo File(\"encrypted.txt\")) < br/> GO < br/> target.write(encryptedData) < br/> GO < br/> target.close();

Consigli & Avvertenze

  • Ci sono una serie di miglioramenti che possono essere fatte a questo programma. Come scritto, ad esempio, non memorizza il SecretKey generato in modo casuale come il programmatore individuo può essere il miglior giudice di come trattare con questo pezzo sensibile delle informazioni. Inoltre, i programmatori possono desidera aggiungere argomenti della riga di comando come "input" e "output". Infine, il programma potrebbe essere leggermente ristrutturato per implementare tecniche di Object Oriented Design migliore.