Javascript Crypto JS AES文件加密和解密速度非常慢

Javascript Crypto JS AES文件加密和解密速度非常慢,javascript,encryption,cryptography,cryptojs,wsh,Javascript,Encryption,Cryptography,Cryptojs,Wsh,我正在编写一个脚本,使用crypto js库和windows脚本主机对文件进行加密和解密。但是,当我尝试加密一个大小为1.5mb的图像文件时,加密需要30秒以上的时间。解密需要更长的时间,以至于我无法在不终止进程的情况下等待它 是否有方法可以提高代码的效率,或者根本上是用错误的方式加密文件 为任何建议干杯。:) WScript?你肯定不能在WSH上使用比JavaScript更合适的东西来实现这一点?Node.js有内置的AES,速度会快得多,例如,或者你可以使用.NET、Python或C…这是这

我正在编写一个脚本,使用crypto js库和windows脚本主机对文件进行加密和解密。但是,当我尝试加密一个大小为1.5mb的图像文件时,加密需要30秒以上的时间。解密需要更长的时间,以至于我无法在不终止进程的情况下等待它

是否有方法可以提高代码的效率,或者根本上是用错误的方式加密文件

为任何建议干杯。:)


WScript?你肯定不能在WSH上使用比JavaScript更合适的东西来实现这一点?Node.js有内置的AES,速度会快得多,例如,或者你可以使用.NET、Python或C…这是这些平台的概念证明:)好吧,你正在成功地证明WSH不是这个概念的正确平台…谢谢我猜…答案仍然是“使用其他任何东西”。如果有必要的话,可以从WSH向它施舍,但您需要一些外部工具,因为JScript永远不会足够快。您能够安装节点吗?甚至只是OpenSSL工具集?
function encryptFile (file, encryptionKey) {
  try {
    var fileReader = WScript.CreateObject("ADODB.Stream");
    fileReader.CharSet = '437';
    fileReader.Open();
    fileReader.LoadFromFile(file);
    WScript.Echo("beginning crypt"); // debugging
    var encrypted = CryptoJS.AES.encrypt(fileReader.ReadText(), encryptionKey);
    WScript.Echo("finished crypt"); // debugging
    fileReader.Close();
    return encrypted;
  } catch (e) {
    return 0;
  }
}

function decryptFile (file) {
  try {
    var fileReader = WScript.CreateObject("ADODB.Stream");
    fileReader.CharSet = '437';
    fileReader.Open();
    fileReader.LoadFromFile(file);
    var decrypted = CryptoJS.AES.decrypt(fileReader.ReadText(), KEY);
    fileReader.Close();
    var plaintext = decrypted.toString(CryptoJS.enc.Utf8);
    return plaintext;
  } catch (e) {
    return 0;
  }
}