1
我正在編寫需要加密和解密文件的應用程序。我的問題是解密速度比加密慢5倍。我已經剝離了所有的文件讀/寫操作,並且只對加密過程進行了基準測試。結果是非常令人驚訝的:加密和解密速度之間的AES奇怪差異
加密與encryptionCipher.doFinal()
1.5 MB字節陣列(其是javax.crypto.Cipher中的實例)
~1600 ms
解密與decryptionCipher.doFinal()
1.5 MB字節陣列(其是使用javax的實例.crypto.Cipher)
~5800 ms
我感到很驚訝,因爲我瞭解AES加密和解密是對稱的PROC在加密和解密速度方面應該沒有區別。我使用AES/CBC/PKCS7Padding
密碼與256位密鑰。
這是什麼原因造成的?
實際上,CBC解密模式應該比加密更快(塊的解密可以並行化)[CBC模式](http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29 ) – sergico
對應用進行配置以查看需要花費的時間。可能是低效率的實施。或者,在您的應用中包含Spongy Castle提供程序並添加計時日誌語句。與具有不同提供商的桌面計算機上的相同代碼(Sun/Oracle,Bouncy Castle等)進行比較, –