java - 如何更快地加密文件

标签 java android encryption

我的文件加密速度非常慢! 70 Mb 需要 2 分钟。我用this library和加密文件的类。它可以工作,但速度非常慢。例如。对于文件 .mp4 (70Mb),加密需要 2 分钟。

我在这个网站和互联网上进行了很多搜索,但找不到快速的方法。我的加密类是 JealousSky :

JealousSky.class

我的加密代码是这样的:

try {
        jealousSky.initialize(
                "longestPasswordEverCreatedInAllTheUniverseOrMore",
                "FFD7BADF2FBB1999");
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }

    try {
        InputStream is = new FileInputStream(listFiles[position]);
        jealousSky.encryptToFile(is,listFiles[position].getParent()+"/"+EncName);
        givenFile.delete();

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (InvalidKeySpecException e) {
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (BadPaddingException e) {
        e.printStackTrace();
    } catch (InvalidKeyException e) {
        e.printStackTrace();
    } catch (InvalidAlgorithmParameterException e) {
        e.printStackTrace();
    } catch (NoSuchPaddingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (IllegalBlockSizeException e) {
        e.printStackTrace();
    }

编辑:

解决方案

在 JealousSky.class 中,加密方法必须将 (getEncryptInputStream) 更改为 (getDecryptFromCipherInputStream)

最终2分钟减少到12秒

最佳答案

您需要指定您想要哪种加密方式,不同规范会有不同的速度。

无论如何,我建议您使用其他编写和维护更好的加密库,我对您命名的库没有经验,但您可以考虑原生 Java security componentsJava Cryptography Architecture ,如果这不能满足您的需求,请进一步研究其他第三方库。

关于java - 如何更快地加密文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55327793/

相关文章:

java - USACO 培训 : Mixing Milk fails on the last Case

java - SHA1 不会为相同的字符串输入生成相同的哈希值?

android - 使用预定义 key 的 AES 128 实现

Java - 我应该加密/解密我的套接字通信吗?

java - 枚举持续时间问题

java - 使用密码包含空格的 keystore 进行 jarsigning

Android O 后台服务限制

安卓 : isSelected not working first time in ListView

android - Unresolved reference : FirebaseVisionLabelDetectorOptions, FirebaseVisionCloudLabel

encryption - 是否可以使用 BitSlice 方法在 GPU 上加速 AES 批量加密?