как быстрее шифровать файлы - PullRequest
1 голос
/ 24 марта 2019

Шифрование моего файла очень медленное!2 минуты за 70 Мб.Я использую эту библиотеку и класс для шифрования файлов.Это работает, но это очень медленно.Например, для файла .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)

в конце концов, 2min уменьшено до 12s

1 Ответ

0 голосов
/ 24 марта 2019

Вам необходимо указать, какой тип шифрования вы хотите, скорость будет отличаться для разных спецификаций.

Несмотря на это, я предлагаю вам использовать другие библиотеки шифрования, которые лучше написаны и поддерживаются, у меня нет опыта работы с библиотекой, которую вы назвали, но вы можете рассмотреть нативные компоненты безопасности Java как Архитектура Java Cryptography , если это не может сделать работу за вас, тогда продолжайте исследования других сторонних библиотек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...