• Android5.1 文件AES加密


    密钥最低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();
        }
    }
    
  • 相关阅读:
    【pytorch】2.2 pytorch 自动求导、 Tensor 与 Autograd
    【C++ 科学计算】C++ 预测算法之多项式曲线拟合
    十年Python老鸟总结的5条Python开发最佳实践
    【算法 - 动态规划】找零钱问题Ⅰ
    uniapp 实时定位(系统、后台运行、支持息屏)插件 Ba-Location
    游戏架构设计——高性能并行编程
    PCB走线规则
    设计模式之代理模式与外观模式
    python 日常处理数据中使用到的零碎知识点(一)
    Android,GreenDao数据库框架
  • 原文地址:https://blog.csdn.net/weixin_36554045/article/details/139837188