我尝试生成一个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与应用程序的作用域不同。那么,我如何访问加密库或将作用域传递给multithread.js?
发布于 2016-03-01 16:19:56
我自己找到了一个解决方案。
只需在函数中包含带有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);
}
)();https://stackoverflow.com/questions/35705261
复制相似问题