0

我尝试生成一个 RSA 密钥,因为这需要一些时间,我想使用 multithread.js 来生成密钥。

我的代码:

<script src="../js/multithread.js"></script>
<script src="../js/crypto/cryptico.js"></script> 
<script>
var keyPair;
var MT = new Multithread(2);

MT.process(
            function () {
                var bits = 4096;
                return cryptico.generateRSAKey("passphrase", bits);
            }, function (key) {
                keyPair = key;
                publicKey = cryptico.publicKeyString(keyPair);
            }
)();
</script>

我得到一个

ReferenceError: cryptico is not defined

错误。

我知道 multithread.js 与应用程序的范围不同。那么如何访问 cryptico 库或将范围传递给 multithread.js?

4

1 回答 1

0

我自己找到了解决方案。

只需importScripts在函数中包含必要的文件。Webworker 定义了这个方法。

像这样:

MT.process(
        function () {
            importScripts('http://localhost:63342/..../js/crypto/cryptico.js');
            var bits = 4096;
            return cryptico.generateRSAKey("passphrase", bits);
        }, function (key) {
            keyPair = key;
            publicKey = cryptico.publicKeyString(keyPair);
        }
)();
于 2016-03-01T08:19:56.240 回答