密钥最低128bits public class FileEncryptionUtil { private static final String ALGORITHM = "AES"; private static final String TRANSFORMATION = "AES"; /** * 使用AES加密算法对文件进行加密。 * * @param key 用于加密的密钥。. * @param inputFiles 要加密的输入文件。 * @param outputFiles 将写入加密数据的输出文件。 * @throws Exception 如果加密过程中出现错误 */ public static void encryptFile(String key, String inputFiles, String outputFiles) throws Exception { File inputFile = new File(inputFiles); File outputFile = new File(outputFiles); Key secretKey = new SecretKeySpec(key.getBytes("UTF-8"), ALGORITHM); Cipher cipher = Cipher.getInstance(TRANSFORMATION); cipher.init(Cipher.ENCRYPT_MODE, secretKey); FileInputStream inputStream = new FileInputStream(inputFile); byte[] inputBytes = new byte[(int) inputFile.length()]; inputStream.read(inputBytes); byte[] outputBytes = cipher.doFinal(inputBytes); FileOutputStream outputStream = new FileOutputStream(outputFile); outputStream.write(outputBytes); inputStream.close(); outputStream.close(); } /** * 解密使用AES加密算法加密的文件。 * * @param key 用于解密的密钥。 * @param inputFiles 要解密的输入文件。 * @param outputFiles 将写入解密数据的输出文件 * @throws Exception 如果在解密过程中出现错误。 */ public static void decryptFile(String key, String inputFiles, String outputFiles) throws Exception { File inputFile = new File(inputFiles); File outputFile = new File(outputFiles); Key secretKey = new SecretKeySpec(key.getBytes("UTF-8"), ALGORITHM); Cipher cipher = Cipher.getInstance(TRANSFORMATION); cipher.init(Cipher.DECRYPT_MODE, secretKey); FileInputStream inputStream = new FileInputStream(inputFile); byte[] inputBytes = new byte[(int) inputFile.length()]; inputStream.read(inputBytes); byte[] outputBytes = cipher.doFinal(inputBytes); FileOutputStream outputStream = new FileOutputStream(outputFile); outputStream.write(outputBytes); inputStream.close(); outputStream.close(); } }