我正在使用以下方法使用海绵状城堡从秘密钥匙中提取私钥:
public static PGPPrivateKey findPrivateKey(PGPSecretKey pgpSecKey, char[] pass)
throws PGPException {
if (pgpSecKey == null) return null;
PBESecretKeyDecryptor decryptor = new BcPBESecretKeyDecryptorBuilder(
new BcPGPDigestCalculatorProvider()).build(pass);
return pgpSecKey.extractPrivateKey(decryptor);
}
但是,最后一行的代码在Android上运行速度非常慢(大约90秒)。从加密的秘密键中提取pGpprivateKey的方法有什么更好的方法吗?也许我在从Linux导出秘密键时会犯一些错误,但我认为这不是问题,因为我使用了简单的命令gpg --export-secret-keys > key.skr
。关于可能导致此问题的任何想法?
我在将Android gradle插件从2.2.1升级到3.3.0。
缓慢的性能是由即时运行引起的。停用即时运行时,解密需要〜1秒。