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 に答える