我们正在将一些加密技术加入到我们的URL生成器中,并且在测试过程中我注意到以下步骤会使程序在相当一段时间内挂起。密码加密明显缓慢
cipher.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(IV.getBytes("UTF-8")));
这里是在其中它被调用时,一旦它到达该行它将简单地挂起,并可以采取超过2分钟,最后传递函数的一部分。想知道是否有人知道原因或解决方案。
public static String encrypt(String toEncrypt) throws Exception
{
SecretKeySpec key = new SecretKeySpec(encryptionKey.getBytes("UTF-8"), "AES");
Security.addProvider(new BouncyCastleProvider());
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
cipher.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(IV.getBytes("UTF-8")));
byte[] encrypted = cipher.doFinal(toEncrypt.getBytes());
byte[] encryptedValue = Base64.encodeBase64(encrypted);
return new String(encryptedValue);
}
感谢,
你加密的数据有多大? –
@ArtjomB。只有像60个字符的字符串。此外,这是实际加密之前,因为我们只是设置它。 – Psychosupreme
你怎么知道它在这条线上阻塞?你在调试吗?如果是这样,这可能是罪魁祸首(是的,调试本身)。你是否尝试在没有调试器的情况下运行它? – Antoniossss