“Conocimiento Programación>Programación Java

Cómo cifrar un archivo grande en Java

2011/9/25
Si necesita cifrar archivos pequeños en Java , es suficiente para cargar todos los datos en la memoria, cifrar y volver a escribirlos . Sin embargo , para archivos más grandes que pueden superar el tamaño de la memoria del ordenador , este enfoque será demasiado lento. Usted en cambio necesita para pasar los datos directamente en una corriente del expediente al archivo recién cifrada. Cosas que necesitará
Netbeans
Ver Más instrucciones
1

Crear un archivo de texto en blanco denominado " Encrypter.java " y pegue el siguiente código inicial en él:

java.io.File importación; java.io.FileInputStream importación; java.io.FileNotFoundException importación; java.io.FileOutputStream importación; java.io.IOException importación; java.io.InputStream importación , importación java . io.OutputStream ; java.security.InvalidAlgorithmParameterException importación; java.security.InvalidKeyException importación; java.security.NoSuchAlgorithmException importación; java.security.spec.AlgorithmParameterSpec importación; javax.crypto.Cipher importación; javax.crypto.CipherOutputStream importación , importación javax . crypto.KeyGenerator ; javax.crypto.NoSuchPaddingException importación; javax.crypto.SecretKey importación , importación javax.crypto.spec.IvParameterSpec ;

Encrypter clase pública {

public static void encrypt ( SecretKey clave , en InputStream , OutputStream fuera) { }

void (String [] args públicas estáticas ) { } }

Esto tiene dos métodos: un método principal que tendrá dos argumentos - el archivo de origen y el archivo de destino - y un método de cifrado que tiene dos corrientes y de cifrado
2

Pega el siguiente dentro de los corchetes del método principal :
archivo

INFILE . = new archivo ( args [ 0 ] ) ; archivo OUTFILE = new archivo ( args [ 1 ] ) ;

try { SecretKey key = KeyGenerator.getInstance ( " DES ") GenerateKey ( ) . Encrypter.encrypt (clave , nuevo FileInputStream ( INFILE ) , nuevo FileOutputStream ( OUTFILE )); } catch ( FileNotFoundException e) { } catch ( NoSuchAlgorithmException e) { }

Esto crea una clave secreta para el cifrado de datos estándar (DES ) método de cifrado y de inmediato llama al método cifrar, junto con la clave y una corriente de los archivos de origen y de destino
3

Pega el siguiente en el método de cifrado : .
< p > try { byte [ ] iv = new byte [ ] {( byte) 0x8E , 0x12 , 0x39 , (byte ) 0x9C , 0x07 , 0x72 , 0x6F , 0x5A } ;

AlgorithmParameterSpec paramSpec = new IvParameterSpec ( iv ) ; Cipher c = Cipher.getInstance ( " DES/CBC/PKCS5Padding "); c.init ( Cipher.ENCRYPT_MODE , llave, paramSpec ) ;

a = new CipherOutputStream ( a , c ), int count = 0 , byte [ ] buffer = nuevo octeto [1024 ] ;

while (( count = in.read ( buffer) ) > = 0 ) { out.write (buffer, 0 , count) ;} fuera . close () ; } catch ( IOException e) { } catch ( InvalidAlgorithmParameterException e) { } catch ( InvalidKeyException e) { } catch ( NoSuchAlgorithmException e) { } catch ( NoSuchPaddingException e) { }

Esto establece un vector de inicialización a utilizar para el algoritmo de cifrado DES . Los datos se leen desde el InputStream , encriptada y escrita a 1024 bytes a la vez, permitiendo que incluso los archivos de varios gigabytes para ser eficiente cifrado sin sobrecargar la memoria.
4

Guarde su trabajo . Si ha utilizado un entorno de desarrollo integrado Java ( IDE ) , puede compilar haciendo clic en el botón " Build " . De lo contrario, tendrá que ejecutar el siguiente comando en el símbolo del sistema para compilarlo :

javac Encrypter.java
5

Para cifrar un archivo, escriba el comando siguiente en un símbolo del del sistema: .

java Encrypt sourceFile destinationFile

Reemplazar " sourceFile " y " destinationFile " con los nombres de los archivos necesarios

Programación Java
Cómo compilar código Java Programming
Cómo dividir en Java
Cómo crear un Programa de Mecanografía
Cómo ejecutar comandos de consola de Java
Tres beneficios principales de ENUM
Cómo hacer un flotador Int. De Cadena en Netbeans en Java
Cómo asignar un valor oculto de un menú desplegable en Javascript
Cómo depurar Struts Con ActionServlet
Conocimiento de la computadora © http://www.ordenador.online