我正在编写需要加密和解密文件的应用程序。我的问题是解密比加密慢大约 5 倍。我已经剥离了所有文件读/写操作,并且只对加密进程进行了基准测试。结果非常令人惊讶:
加密 1.5 MB 字节数组encryptionCipher.doFinal()
(这是 javax.crypto.Cipher 的实例)
~1600 ms
解密 1.5 MB 字节数组decryptionCipher.doFinal()
(这是 javax.crypto.Cipher 的实例)
~5800 ms
我很惊讶,因为我知道AES解密和加密是对称过程,加密和解密速度应该没有区别。
我正在使用AES/CBC/PKCS7Padding
带有 256 位密钥的密码。
什么会导致这种情况?