Untitled
unknown
plain_text
2 years ago
2.1 kB
6
Indexable
Certainly! Here's a simple example of a Java program that encrypts a file using AES-256 in CBC mode. Make sure to handle exceptions and manage resources appropriately in a production environment. ```java import javax.crypto.*; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.io.*; import java.security.*; public class FileEncryptor { private static final String ALGORITHM = "AES"; private static final String TRANSFORMATION = "AES/CBC/PKCS5Padding"; public static void main(String[] args) { try { // Replace 'yourKey' and 'yourInitializationVector' with your actual key and IV String key = "yourKey"; String iv = "yourInitializationVector"; encryptFile("input.txt", "encryptedOutput.enc", key, iv); System.out.println("Encryption completed successfully."); } catch (Exception e) { e.printStackTrace(); } } public static void encryptFile(String inputFile, String outputFile, String key, String iv) throws Exception { Cipher cipher = Cipher.getInstance(TRANSFORMATION); SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), ALGORITHM); IvParameterSpec ivParameterSpec = new IvParameterSpec(iv.getBytes()); cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivParameterSpec); try (FileInputStream inputStream = new FileInputStream(inputFile); FileOutputStream outputStream = new FileOutputStream(outputFile); CipherOutputStream cipherOutputStream = new CipherOutputStream(outputStream, cipher)) { byte[] buffer = new byte[4096]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { cipherOutputStream.write(buffer, 0, bytesRead); } } } } ``` Remember to replace the placeholder values for 'yourKey' and 'yourInitializationVector' with your actual key and initialization vector. Additionally, handle exceptions and errors appropriately for a robust implementation.
Editor is loading...
Leave a Comment