0

以下 CryptoJs 代码在 IE9 中以正常速度运行,但在 IE7 中运行速度非常非常慢,这是什么原因以及在 IE7 中加速脚本的任何方法?

var keyLength = 256;  
var iteration = 1000;
var salt = CryptoJS.lib.WordArray.random(128/8);  
var key = CryptoJS.PBKDF2(passphrase, salt, { keySize: keyLength/32, iterations: iteration });  
var iv = CryptoJS.lib.WordArray.random(128/8);  
var loginPassword = document.getElementsByName("password")[0].value;
 var encrypted = CryptoJS.AES.encrypt(loginPassword, key, {iv:iv},{mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});  
4

1 回答 1

1

微软在 IE9 中提高了 JavaScript 引擎的速度,使其与其他现代 JS 引擎相媲美(请参阅此处)。恐怕没有什么可以提高IE7引擎的性能了。当然,在这种特定情况下,您可以减少迭代次数,尽管我对 PBKDF2 不够熟悉,无法说明在函数变得不安全之前可以减少多少。另一个要考虑的选择是将密码散列移动到服务器......

于 2014-02-06T08:55:56.820 回答