我的文件加密非常慢! 2分钟即可获得70 Mb。我使用this library和类来加密文件。它可以工作,但是非常慢。例如。对于文件.mp4(70Mb),加密需要2分钟。
我在此网站和互联网上进行了大量搜索,但找不到快速的方法。我的加密类是JealousSky:
我的加密代码是这样的:
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秒
答案 0 :(得分:0)
您需要指定所需的加密类型,不同的规格会有不同的速度。
无论如何,我建议您使用其他更好地编写和维护的加密库,我对您命名的库没有经验,但是可以考虑像Java security components这样的本机Java Cryptography Architecture无法帮您完成工作,然后进一步研究其他第三方库。