Se você precisar criptografar arquivos pequenos em Java , é o suficiente para carregar todos os dados na memória, criptografá-lo e escrevê-lo de volta para fora . No entanto, para arquivos maiores que podem exceder o tamanho da memória do computador , esta abordagem será muito lento. Em vez disso você vai precisar passar dados diretamente em um córrego do arquivo para o arquivo recém- criptografada. Coisas que você precisa 
 Netbeans 
 Mostrar Mais instruções 
 1 
 Crie um arquivo de texto em branco com o nome " Encrypter.java " e cole o seguinte código inicial para ele: 
 
 importar java.io.File ; java.io.FileInputStream importação; java.io.FileNotFoundException importação; java.io.FileOutputStream importação; import java.io.IOException ; java.io.InputStream importação , importação java . io.OutputStream ; java.security.InvalidAlgorithmParameterException importação; java.security.InvalidKeyException importação; java.security.NoSuchAlgorithmException importação , importação java.security.spec.AlgorithmParameterSpec ; javax.crypto.Cipher importação; javax.crypto.CipherOutputStream importação; javax importação . crypto.KeyGenerator ; javax.crypto.NoSuchPaddingException importação; javax.crypto.SecretKey importação , importação javax.crypto.spec.IvParameterSpec ; 
 
 public class Encrypter { 
 
 criptografar public static void ( chave secreta chave, InputStream in , OutputStream out) {} 
 
 public static void main ( string [] args ) {}} 
 
 Este tem dois métodos: um método main que vai levar dois argumentos - o arquivo de arquivo de origem e destino - e um método de criptografar que leva dois córregos e uma chave de criptografia 
 2 
 cole o seguinte dentro dos colchetes do método principal : 
 
 arquivo inFile . = new File ( args [ 0]); Arquivo outFile = new File ( args [1 ]); 
 
 try { key = chave secreta KeyGenerator.getInstance ( " DES " ) GenerateKey (); . Encrypter.encrypt (key, new FileInputStream ( inFile ) , new FileOutputStream ( outFile ) );} catch ( FileNotFoundException e) {} catch ( NoSuchAlgorithmException e) {} 
 
 Isso cria uma chave secreta para o Data Encryption Standard (DES) método de criptografia e imediatamente chama o método de criptografar, juntamente com a chave e um fluxo para os arquivos de origem e de destino 
 3 
 cole o seguinte para o método de criptografar : . 
 
 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 , chave, paramSpec ); 
 
 out = new CipherOutputStream (out, c); int count = 0; byte [] buffer = new byte [1024 ]; 
 
 while (( count = in.read (buffer) )> = 0) { out.write (buffer, 0 , count) ;} fora . close () ; } catch (IOException e) {} catch ( InvalidAlgorithmParameterException e) {} catch ( InvalidKeyException e) {} catch ( NoSuchAlgorithmException e) {} catch ( NoSuchPaddingException e) {} 
 
 Isso configura um vetor de inicialização para usar para a cifra DES. Os dados são lidos a partir do InputStream , cifrado e escrito 1024 bytes de cada vez, permitindo que até mesmo arquivos de multi-gigabyte para ser eficientemente criptografada sem sobrecarregar a memória. 
 4 
 Salve seu trabalho. Se você usou um Java Ambiente de Desenvolvimento Integrado (IDE), você pode compilar , clicando no botão "Build" . Caso contrário, será necessário executar o seguinte comando no prompt de comando para compilá-lo : 
 
 javac Encrypter.java 
 5 
 Para criptografar um arquivo, digite o seguinte comando em um comando prompt: 
 
 java Criptografar sourceFile destinationfile 
 
 Substituir " sourceFile " e " destinationfile " com os nomes dos arquivos necessários 
 
 .