Tecnología

Inicio

Cómo cifrar un archivo en Java

Cómo cifrar un archivo en Java


Desde la versión 1.4, el SDK Java Standard Edition ha incluido la extensión de criptografía de Java por defecto. Esto proporciona un marco unificado para los desarrolladores de Java utilizar una variedad de algoritmos de encriptación estándar en sus aplicaciones. Utilizando uno de los algoritmos estándar que vienen con Java Cryptography Extension es bastante fácil, y una aplicación de cifrado muy simple se puede crear en sólo unas pocas docenas de líneas para asegurar sus propios archivos de datos.

Instrucciones

1 Crear la clase FileEncrypter. <br /> <br /> FileEncrypter public class {<br /> void main (String [] args) public static throws Exception {<br /> << código inserto aquí >> <br /> <br />}} <br /> <br /> La clase requerirá las siguientes importaciones: <br /> <br /> java.io.File importación <br /> <br /> GO importación java.io.FileInputStream <br /> GO <br /> <br /> importación java.io.FileOutputStream GO <br /> <br /> javax.crypto.Cipher importación GO <br /> <br /> javax.crypto.KeyGenerator importación importación GO <br /> javax.crypto.SecretKey <br /> GO <br /> <br /> Hay una serie de extensiones y mejoras que debe ser capaz de añadir a esta clase por su cuenta, sino que proporcionará una funcionalidad básica de cifrado para que usted pueda construir características tales como una interfaz de usuario en la parte superior de.

2 Declarar e inicializar las variables que necesitará. Como mínimo, se necesita un cifrado, un KeyGenerator y un SecretKey. Usted también necesitará una matriz de bytes cada uno para contener los datos cifrados y no cifrados. <br /> <br /> byte [] plainData <br /> <br /> GO byte [] encryptedData <br /> <br /> IR KeyGenerator keygen = KeyGenerator.getInstance (\ "DES \") <br / > IR <br /> SecretKey clave = keygen.generateKey () <br /> <br /> IR cifrado cifrado = Cipher.getInstance (\ "DES / BCE / PKCS5Padding \") <br /> <br /> GO cifrado .init (Cipher.ENCRYPT_MODE, clave) <br /> GO <br /> <br /> Esta función utilizará el cifrado DES, pero el Java Cryptography Extension también incluye una variedad de otros esquemas. Usted también necesitará para inicializar un archivo de entrada y salida y rellenar la matriz plainData partir de los datos del archivo de entrada. <br /> <br /> File f = new File (\ "entrada.txt \") <br /> <br /> GO FileInputStream in = nueva FileInputStream (f) <br /> <br /> IR = plainData nuevo byte [(int) f.length ()] <br /> <br /> GO in.read (plainData);

3 Realizar el cifrado. Esto es en realidad la tarea más fácil para que usted pueda realizar y se puede lograr en una sola línea. <br /> <br /> encryptedData = cipher.doFinal (plainData);

4 Escribe los datos cifrados en un archivo nuevo. <br /> <br /> FileOutputStream target = nueva FileOutputStream (nuevo archivo (\ "encrypted.txt \")) <br /> <br /> GO target.write (encryptedData) <br /> <br /> GO target.close ();

Consejos y advertencias

  • Hay una serie de mejoras que se pueden hacer para este programa. Como está escrito, por ejemplo, que no almacena la SecretKey generado de forma aleatoria como el programador individual puede ser el mejor juez de cómo hacer frente a esta pieza delicada de la información. Además, los programadores pueden querer añadir argumentos de línea de comando como "entrada" y "salida". Por último, el programa podría estar ligeramente reestructurada para implementar mejores técnicas de diseño orientadas a objetos.